是否可以从json传递函数名称并应用于ng-click?

时间:2014-05-07 10:43:56

标签: html json angularjs

我在AngularJS中构建一个动态导航栏,我想知道是否可以在json中将函数名称作为字符串并将其放在ng-click指令中(并且make这行得通)?到目前为止,这还不起作用......

在JSON中:

"name":"Test Link",
"action":"testAction()"

在HTML中:

<li ng-repeat="link in navlinks"><a ng-click="link.action">{{link.name}}</a></li>

我意识到还有其他方法可以做到这一点,例如路由和甚至像ng-click =&#34; genericFunction({{link.action}})&#34;(?)。感兴趣的是,是否可以将函数从json传递到ng-click。

谢谢!

1 个答案:

答案 0 :(得分:3)

您可以使用$ eval,它将评估表达式:

$scope.foo = function() {
    alert('x');
};

$scope.json = {
    fn: "foo()"
};

在html中:

<button ng-click="$eval(json.fn)">click</button>