在AngularJS中,您可以自动从您'使用ng重复时重新生成

In AngularJS can you automatically bind an onclick function from the object you're generating when using ng-repeat?

本文关键字:ng 使用 新生 AngularJS      更新时间:2023-09-26

我有一个项目数组,我使用ng repeat为数组中的每个项目创建一个元素。每个项目上的一个属性可能是一个函数,如下所示:

item.myFunction = function(){
// do something
}

我可以使用onclick或ng-click之类的方法将其绑定到一个元素吗?我尝试过以下几种:

<p onclick="{{item.myFunction}}">click me</p>
<p ng-click="{{item.myFunction}}">click me</p>
<p ng-attr-onclick="{{item.myFunction}}">click me</p>

我是不是在努力实现一些不可能的事情?在谷歌上找不到任何帮助。

我不知道这是否可能,但您可以尝试实现一个包装器函数,该函数将调用您的特定对象函数:

<p ng-click="{{myFunction(item)}}">click me</p>

然后在你的控制器中实现这样的功能:

myFunction(item){ item.myFunction() }

您可以将对象传递给点击函数并执行同样的操作,

控制器:

$scope.myFunction = function(someObject){
// do something
}

HTML

<p ng-click="{{myFunction(item)}}">click me</p>

工作SampleApp