如何在angularjs指令中生成事件监听器函数?
对于这样的事情:
指令:
app.directive('myDirective', () => {
return {
scope: {
myDict: '=',
},
templateUrl: 'directives/my-directive',
};
});
HTML:
<!-- my-directive.html -->
<li ng-repeat="(key, value) in myDict">
<!-- Will not work -->
<a onclick="function_written_in_frontend({{key}})">{{value}}</a>
</li>
使用它:
<my-directive myDict="{'a': 1, 'b': 2, 'c': 3}"></my-directive>
我希望它可能产生:
<li>
<a onclick="function_written_in_frontend('a')">1</a>
<a onclick="function_written_in_frontend('b')">2</a>
<a onclick="function_written_in_frontend('c')">3</a>
</li>
但我不能。 ng-click
可能不是解决方案。
更新
如果我像这样更新了我的指令:
app.directive('myDirective', () => {
return {
scope: {
myDict: '=',
},
controller: function ($scope, $element) {
$scope.function_written_in_frontend = function(mykey) {
console.log(mykey);
}
},
templateUrl: 'directives/my-directive',
};
});
它给了我:
{{key}}
{{key}}
{{key}}
{{key}}
答案 0 :(得分:0)
尝试ng-click
而不是onclick
<a ng-click="function_written_in_frontend(key)">{{value}}</a>