Angular:ng-click和<li> items </li>

时间:2015-04-15 14:43:46

标签: javascript angularjs

我正在为Angular使用神话般的UI Bootstrap但是很难获得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 =“behavior()”放在li,a和img中,但似乎没什么用。

我做错了什么?

(理想情况下,我只想更改范围变量的值,但我认为调用行为来做更好的练习)

这个问题与上面提到的不一样。另一个问题是与范围有关,而我很乐意能够执行alert();来自我的一个人。

3 个答案:

答案 0 :(得分:1)

你必须在设置控制器的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/

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

你不需要更多:

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