我在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。
谢谢!
答案 0 :(得分:3)
您可以使用$ eval,它将评估表达式:
$scope.foo = function() {
alert('x');
};
$scope.json = {
fn: "foo()"
};
在html中:
<button ng-click="$eval(json.fn)">click</button>