gpt4 book ai didi

javascript - 你能传递一个 Angular 表达式作为实际的 ng-click 函数吗

转载 作者:搜寻专家 更新时间:2023-11-01 05:30:02 26 4
gpt4 key购买 nike

我只是问这个,因为我在任何地方都找不到它。

我有一个 Angular 对象 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>

这会引发 Angular 引用错误,

Syntax Error: Token 'column.addOnParams.rowClick' is unexpected, expecting [:] at column 3 of the expression [{{column.addOnParams.rowClick}}] starting at [column.addOnParams.rowClick}}].

你们有什么建议吗?

将它用于它工作的类对象时的旁注。

<td ng-repeat="column in columns" class="{{column.addOnParams.cssClass}}"></td>

上述语句生成并完美运行。

感谢@J-D 的评论,plunker 解决方案非常有效 Working solution

使用 this 关键字正是我所需要的。

最佳答案

您可以使用$eval 来调用myclickevent()

示例如下:

在你的 Controller 中

$scope.myclickevent = function(rowClick) {
//your functionality here.
}

假设您在 column.addOnParams.rowClick 中有 myclickevent() 字符串

然后在你的html模板中

<td ng-repeat="column in columns" class="" ng-click="$eval(column.addOnParams.rowClick)"></td>

希望对你有所帮助。

关于javascript - 你能传递一个 Angular 表达式作为实际的 ng-click 函数吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33007620/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com