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

Javascript 扩展自定义角度指令行为的正确方法是什么?,javascript,angularjs,angularjs-directive,Javascript,Angularjs,Angularjs Directive,我已经编写了自己的Angular指令,名为,因为我多次使用它,传递不同的数据来显示。所有表格都有一个按钮,单击该按钮时,会出现一个弹出窗体,如下所示: 但是,对于其中一个指令,我希望扩展该行为,使其行为与另一个稍有不同。例如,假设对于弹出的表单,当您单击“提交”“提交”时,将出现一个警报框,显示该范围内的数据 我的问题是,在仍然能够访问指令范围的情况下,扩展给定指令行为的最佳方式是什么?这是可能的,还是我只是不正确地使用了指令?您可以在这种程度上做一些事情: <my-table on-s

我已经编写了自己的Angular指令,名为
,因为我多次使用它,传递不同的数据来显示。所有表格都有一个按钮,单击该按钮时,会出现一个弹出窗体,如下所示:

但是,对于其中一个
指令,我希望扩展该行为,使其行为与另一个
稍有不同。例如,假设对于弹出的表单,当您单击“提交”
“提交”
时,将出现一个警报框,显示该范围内的数据


我的问题是,在仍然能够访问指令范围的情况下,扩展给定指令行为的最佳方式是什么?这是可能的,还是我只是不正确地使用了指令?

您可以在这种程度上做一些事情:

<my-table on-submit="doSomething(message)"></my-table>
然后在控制器中定义功能:

$scope.doSomething = function(message) {
  alert(message);
}
在模板中,您可以在其中定义“提交”按钮,您可以执行以下操作:

<button ng-click="submit({message: 'bye!'})"></button>

有关更多信息,请参考angular的文档:

“这是可能的,还是我只是错误地使用了指令?”这取决于您最初是如何实现指令的。如果您发布带有指令(或示例指令)的plunkr/codepen,您可能会在这个问题上获得更多有用的帮助。我尝试使用类似以下内容:
其中
添加其他行为
是另一个指令。然而,我似乎无法在这两个指令之间共享数据。
<button ng-click="submit({message: 'bye!'})"></button>