[英]What is the proper way to extend the behavior of a custom Angular directive?
我编写了自己的名为<my-table>
的Angular指令,因为我多次使用它,并传递不同的数据进行显示。 所有表都有一个按钮,单击该按钮时,将显示一个弹出表单,如下所示:
但是,对于<my-table>
指令之一,我想扩展其行为,使其行为与其他<my-table>
略有不同。 例如,假设对于弹出的表单,单击“ Submit
时将出现一个警告框,显示该<my-table>
范围内的数据。
我的问题是,在仍然能够访问指令范围的同时,扩展给定指令行为的最佳方法是什么? 这是可能的,还是我只是错误地使用了指令?
您可以在这种程度上做一些事情:
<my-table on-submit="doSomething(message)"></my-table>
在my-table指令定义中,您可以将回调绑定到范围:
scope: {
'submit': '&onSubmit'
},
然后在控制器中定义函数:
$scope.doSomething = function(message) {
alert(message);
}
在模板中定义提交按钮的位置,您将执行以下操作:
<button ng-click="submit({message: 'bye!'})"></button>
您可以参考angular的文档以获取更多信息: https : //docs.angularjs.org/guide/directive
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.