繁体   English   中英

扩展自定义Angular指令的行为的正确方法是什么?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM