具有两个参数的Angular函数具有错误:[$ parse:syntax]

Con*_*ror 4 javascript indexing parsing syntax-error angularjs

完整的错误是:

Error: [$parse:syntax] Syntax Error: Token ',' not a primary expression
Run Code Online (Sandbox Code Playgroud)

导致错误的代码是:

<div ng-repeat="item in items">

    <input type="submit" ng-click="delete({{item.itemId}},$index)" value="delete">

</div>
Run Code Online (Sandbox Code Playgroud)

该函数实际上适用于以前的项目,但是当我尝试将新项目添加到项目数组时会中断.问题孩子似乎是逗号,但我不知道该怎么办.

xbo*_*nez 10

你不需要包装item.itemId{{}}.做就是了:

ng-click="delete(item.itemId, $index)"

在使用Angular的模板系统时,您只需要用大括号括起来 - 大括号告诉Angular替换值.在这种情况下,ng-click的值是在发生单击事件时评估的表达式(在控制器的范围内).

演示 Fiddle