从Angular 1.2.0-rc3升级到1.2.0或更高版本时出错

时间:2014-01-27 20:12:25

标签: angularjs angularjs-ng-repeat

当我将角度版本从1.2.0-rc3升级到1.2.0或更高版本时,会导致错误,这些错误似乎集中在使用$ parent。$ index。使用1.2.0-rc3时没有错误。

Error: [$parse:syntax] Syntax Error: Token '$parent.$index' is unexpected, expecting [:] at column 20 of the expression [setSelectedTable({{$parent.$index}})] starting at [$parent.$index}})].

(这里$ parent。$ index(数组)作为参数传递给方法)

相应的html是

 ng-click="setSelectedTable({{$parent.$index}})" 
  ng-class="{selectedTable:{{$parent.$index}}==event.selectedTable}"

两行,ng-click和ng-class都失败并出现上述错误。 看起来angular将ng-class代码行解析为selectedTable:== event.selectedTable,基本上使$ parent。$ index无效。

Error: [$parse:syntax] Syntax Error: Token 'event.selectedTable' is unexpected, expecting [}] at column 18 of the expression [{selectedTable:==event.selectedTable}] starting at [event.selectedTable}].

任何人都知道这个错误的原因吗? 1.2.0rc3和1.2.0之间是否有语法变化?什么应该用来代替$ parent。$ index?

1 个答案:

答案 0 :(得分:0)

是否在ng-click中?

setSelectedTable($parent.$index)

看起来更像你需要的东西。如果不能,请粘贴html行。

修改 根据您的编辑,看起来这两个应该是这样的:

ng-click="setSelectedTable($parent.$index)" 
ng-class="{selectedTable:$parent.$index==event.selectedTable}"

虽然活动是什么?是绑定范围吗?