AngularJS:通过ng-click传递绑定范围值的最佳方法是什么?

时间:2014-09-24 04:06:14

标签: angularjs angularjs-directive angularjs-scope

我有以下代码:

 <li class='' ng-click="changeStatus('hello', '{{result.name}}')">

其中'hello'是我对changeStatus的第一个参数,我希望将绑定的result.name的值作为第二个参数传递。有谁知道如何做到这一点?

我尝试了{{result.name}},'{{results.name}}',但似乎都没有效果。

我可能缺少一些简单的东西吗?


我看了看:  Can you pass parameters to an AngularJS controller on creation?

但是ng-init中的两个参数都是字符串文字。

3 个答案:

答案 0 :(得分:3)

您不必通过它。 您可以使用以下命令在控制器中访问它:

$scope.result.name

答案 1 :(得分:0)

如果结果是一个数组,并且您想将单个结果传递给控制器​​单击功能,则无需使用花括号进行装饰。李将看起来像这样:

<li ng-repeat="result in results" ng-click="changeStatus('hello', result.name)">{{result.name}}</li>

Working Fiddle

答案 2 :(得分:0)

Angular将ng-click的内容视为表达式。这意味着您将内容编写为纯javascript(在大多数情况下)。对于你的例子,这意味着遗漏大括号(因为你已经写了&#39; javascript&#39;)。

<li class='' ng-click="changeStatus('hello', result.name)">