【问题标题】:Angular function with two parameters having Error: [$parse:syntax]带有两个参数的角函数有错误:[$parse:syntax]
【发布时间】:2013-10-24 16:58:09
【问题描述】:

完整的错误是:

Error: [$parse:syntax] Syntax Error: Token ',' not a primary expression

导致错误的代码是:

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

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

</div>

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

【问题讨论】:

  • 请发布您的模型items
  • 谢谢 我发现这个错误与我工厂的一个功能有关。

标签: javascript parsing angularjs indexing syntax-error


【解决方案1】:

您无需将item.itemId 包装在{{}} 中。做吧:

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

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

演示Fiddle

【讨论】:

  • 这个错误实际上是完全不同的,但是 +1 以获得一些额外的信息。实际上,我最近意识到这些东西都不需要传入,因为您可以从 this 变量中提取感兴趣的对象和索引。
猜你喜欢
  • 1970-01-01
  • 2012-01-21
  • 2015-11-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多