0
如何在angularjs指令中生成事件监听器函数?如何在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
可能不是这里的解决方案。
Thx提前。
更新:
如果我更新了我的指令是这样的:
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}}
“但我不能”?那是什么意思?此外,'ng-click'是在AngularJS中添加onclick事件处理程序的首选方式。 –
*“ng-click可能不是这里的解决方案”* ...为什么不呢? 'function_written_in_frontend'是什么意思?包括角的所有客户端都是前端。使用内联'onclick'不是首选在本地脚本中进行事件处理的方式 – charlietfl
我可以调用另一个脚本编写的函数,如''? – Adam