从动态按钮单击事件调用具有不同参数的相同方法时,AngularJS语法错误

时间:2014-10-30 19:31:15

标签: angularjs

我有两个按钮都连接到ng-click事件,但参数不同。

<button type="button" class="btn btn-default btn-large btn-block"
 ng-click="makePick({{item.EventId}}, {{eventSchedule.MemberId}},
                    {{item.HomeId}})">

<button type="button" class="btn btn-default btn-large btn-block"
 ng-click="makePick({{item.EventId}}, {{eventSchedule.MemberId}},
                    {{item.AwayId}})">

两者都在调用相同的方法:

$scope.makePick = function (eventId, memberId, teamWinSelId) { //... };

当我在浏览器中启动项目时,出现以下错误:

Syntax Error: Token 'item.EventId' is at column {2} of the expression [{3}] starting at [{4}].

不知道最近发生了什么,是否需要在两个不同的按钮上调用相同的方法?不太确定什么是错的。我很欣赏一些指导。

2 个答案:

答案 0 :(得分:0)

你不需要在参数中使用花括号,因为ng-click会为你自己处理。任何ng前缀指令

都不需要花括号

例如

    ng-click="makePick(item.EventId,eventSchedule.MemberId,
                item.AwayId)

答案 1 :(得分:0)

使用ng-click时,省略{{}}视图变量,它们已在指令中处理:

<button type="button" class="btn btn-default btn-large btn-block" ng-click="makePick(item.EventId, eventSchedule.MemberId, item.HomeId)">

<button type="button" class="btn btn-default btn-large btn-block" ng-click="makePick(item.EventId, eventSchedule.MemberId, item.AwayId)">