<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
在控制台中它看起来不错,但实际上并不起作用:
答案 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
实际上是一个angularjs表达式,因此您应该可以将其设置为ng-click='myFunc(item.name)'
。这将传递item.name
的实际值,而不是像当前实现那样尝试传递原始文本的字符串值。
答案 2 :(得分:0)
ng-click
实际上是一个角度指令而不是表达式,在将值传递给表达式时需要给括号,但在将值传递给指令时不需要使用括号。