在ng-repeat中调用函数

时间:2013-08-10 17:11:46

标签: javascript angularjs

我有一个数组,其中包含一些按钮的名称和function的名称,单击该按钮时会调用它们。

如果我通过按钮ng-repeat一切正常,除了没有执行该功能。我不确定我还能尝试什么,或者即使它是可能的。

以下是一些数据

$scope.something = [{
    name: 'Cool Button',
    func: 'test'
}, {
    name: 'Another button',
    func: 'something'
}]

我正在使用ng-repeat

<button ng-click="some.func" ng-repeat="some in something">{{some.name}}</button>

以下是我试图让功能正常工作的内容。

some.func // Nothing happens
some.func() // Throws a error
{{ some.func }}() // Nothing Happens

这是要调用的函数之一

$scope.test = function() {
    alert('clicked');
};

可能吗?

我做的快速 Fiddle

1 个答案:

答案 0 :(得分:2)

ng-click="this[some.func]()"

或直接引用该函数:

$scope.something = [{
    name: 'Cool Button',
    func: $scope.test
}, {
    name: 'Another button',
    func: $scope.anotherFunc
}]

ng-click="some.func()"