angularjs – 两个指令(不是嵌套在HTML中)如何相互通信?
发布时间:2020-12-17 06:50:15 所属栏目:安全 来源:网络整理
导读:我对angularJS很新,我有一个问题(希望它不是那么愚蠢): 我有2个指令(不嵌套): div directive1/divdiv directive2/div 现在我希望指令与控制器相互通信(Ive在directive1中定义了’controller:’): myApp .directive('directive2',function () { return {
我对angularJS很新,我有一个问题(希望它不是那么愚蠢):
我有2个指令(不嵌套): <div directive1></div> <div directive2></div> 现在我希望指令与控制器相互通信(Ive在directive1中定义了’controller:’): myApp .directive('directive2',function () { return { require: "^directive1",link: function (scope,element,attrs,directive1Ctrl) { directive1Ctrl.doSomething(); } }; }); 但我总是得到’未找到控制器’例外..(我不确定^因为它只用于通过父母向上搜索). 如果它们没有嵌套,是否不能使用指令2中的directive1中定义的控制器? 解决方法
这很接近.在应用程序的不同部分(两个控制器,两个指令,一个指令和一个控制器等)之间共享数据和功能的标准方法是在服务中提供该数据或功能.然后可以将此服务注入任何需要它的应用程序组件. 在您的情况下,您可以创建一个提供doSomething函数的服务,并将其注入directive1和directive2. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |