繁体   English   中英

角度:ng-单击并 <li> 项目

[英]Angular: ng-click and <li> items

我正在使用神话般的UI Bootstrap for Angular,但是很难引发onclick事件。

这是代码:

<ul class="dropdown-menu" role="menu">
    <li><a><img src='/Content/Images/dept_cargo.png'/> CARGO</a></li>
    <li><a><img src='/Content/Images/dept_commercial.png'/> COMMJ</a></li>
    <li><a><img src='/Content/Images/dept_executive.png'/> EXECJ</a></li>
    <li><a><img src='/Content/Images/dept_travel.png'/> TVL</a></li>
</ul>
{{ currentDepartment }}

我尝试了每种组合:将ng-click =“ behaviour()”分别放入li,a和img内,但似乎没有任何效果。

我究竟做错了什么?

(理想情况下,我只想更改范围变量的值,但我认为调用行为来完成工作是一种更好的做法)

这个问题与上面建议的不同。 另一个问题与范围有关,而我很高兴能够执行alert();。 是我李家的一个

您必须在js代码中设置控制器的地方遇到问题,但是如果设置正确,您的html应该如下所示:

<ul class="dropdown-menu" role="menu">
    <li ng-click="behaviour()"><a><img src='/Content/Images/dept_cargo.png'/> CARGO</a>
    </li>
    <li ng-click="behaviour()"><a><img src='/Content/Images/dept_commercial.png'/> COMMJ</a>
    </li>
    <li ng-click="behaviour()"><a><img src='/Content/Images/dept_executive.png'/> EXECJ</a>
    </li>
    <li ng-click="behaviour()"><a><img src='/Content/Images/dept_travel.png'/> TVL</a>
    </li>
</ul>

并在您的js中:

function myCtrl($scope) {
    $scope.behaviour = function () {
       alert('asd');
    };
}

这是一个工作示例: http : //jsfiddle.net/97u2jp6d/1/

<ul class="dropdown-menu" role="menu">
    <li><a ng-click="behaviour()"><img src='/Content/Images/dept_cargo.png'/> CARGO</a></li>

确保在控制器中为该代码段定义了$scope.behaviour = function() {}

您只需要以下内容:

HTML

 <ul>
  <li ng-click="doSomething()">item 1</li>
  <li ng-click="doSomething()">item 2</li>
  <li ng-click="doSomething()">item 3</li>
  <li ng-click="doSomething()">item 4</li>
  <li ng-click="doSomething()">item 5</li>
</ul>

调节器

$scope.doSomething = function () {
console.log('doing something');
} 

http://plnkr.co/edit/52C2daC9jugCOOaNBDvP

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM