ng-repeat和ng-click打不好

时间:2015-10-06 00:53:34

标签: angularjs angularjs-ng-repeat angularjs-ng-click

<li ng-repeat="item in data" ng-click="myFunc('{{ item.name }}')">

我似乎无法让ng-click传递item.name的变量值。它实际上发送:

{{ item.name }}

Plunker中的一个例子: http://plnkr.co/edit/dq5KA3?p=preview

在控制台中它看起来不错,但实际上并不起作用:

enter image description here

3 个答案:

答案 0 :(得分:1)

使用:

<li ng-repeat="item in data" ng-click="myFunc(item.name)">{{item.name}}
</li>

因为item是一个对象。

在您的方案中有关控制台结果的说明:

始终:{{item.name}}它将打印该值,这就是您在控制台中看到的原因:

<li ng-repeat="item in data" ng-click="myFunc('Apple')" class="ng-binding ng-scope">Apple
</li>

因为您的页面中有:

 <li ng-repeat="item in data" ng-click="myFunc('{{ item.name }}')">{{item.name}}
 </li>

答案 1 :(得分:1)

ng-click实际上是一个表达式,因此您应该可以将其设置为ng-click='myFunc(item.name)'。这将传递item.name的实际值,而不是像当前实现那样尝试传递原始文本的字符串值。

答案 2 :(得分:0)

ng-click实际上是一个角度指令而不是表达式,在将值传递给表达式时需要给括号,但在将值传递给指令时不需要使用括号。