我只是问这个,因为我无法在任何地方找到它。
我有一个角度对象column.addOnParams
此对象包含rowClick
的子元素,因此它将是column.addOnParams.rowClick
在此子元素中包含单词myclickevent();
是否可以将其传递给ng-click
。
所以它如下。
<td ng-repeat="column in columns" class="" ng-click="column.addOnParams.rowClick"></td>
我已经按照上面的方式尝试过,但没有生成任何内容,它只是在页面加载后显示它。
我也尝试了以下内容,
<td ng-repeat="column in columns" class="" ng-click="{{column.addOnParams.rowClick}}"></td>
以角度引发参考错误
语法错误:令牌'column.addOnParams.rowClick'是意外的, 期待[:]在表达式的第3列 [{{column.addOnParams.rowClick}}]从 [column.addOnParams.rowClick}}]。
你们有什么建议吗?
将它用于它所使用的类对象时的旁注。
<td ng-repeat="column in columns" class="{{column.addOnParams.cssClass}}"></td>
以上陈述生成并完美运作。
感谢@ J-D评论,plunker解决方案就像一个魅力 Working solution
我需要使用this
关键字。
答案 0 :(得分:3)
您可以使用$eval
来致电myclickevent()
。
以下示例:
在您的控制器中
$scope.myclickevent = function(rowClick) {
//your functionality here.
}
并假设myclickevent()
column.addOnParams.rowClick
个字符串
然后在你的html模板中
<td ng-repeat="column in columns" class="" ng-click="$eval(column.addOnParams.rowClick)"></td>
希望它会对你有所帮助。
答案 1 :(得分:2)
<td ng-repeat="column in columns" class="" ng-click="{{column.addOnParams.rowClick}}"></td>
以上代码无效。当用户点击它时,ng-click用于调用功能。您可以将参数传递给函数。 所以您更新的代码将如下所示:
<td ng-repeat="column in columns" class="" ng-click="myClickFunction(column.addOnParams.rowClick)></td>
在你的控制器中,myClickFunction绑定到范围。
$scope.myClickFunction = function(rowClick) {
//do whatever you want to do
}
根据您的代码删除{{}}
,它会正常工作:
<td ng-repeat="column in columns" class="" ng-click="column.addOnParams.rowClick"></td>