Angularjs 从另一个指令调用指令控制器方法';s控制器
我有一个指令Angularjs 从另一个指令调用指令控制器方法';s控制器,angularjs,Angularjs,我有一个指令DirectiveA,它的控制器中定义了一个方法x。我需要从另一个指令的(DirectiveB)控制器调用此方法 问题在于我使用的应用程序,因为当您需要转到特定路线时,基本上会调用另一个指令,然后由Angular渲染。我要寻找的是找到一种在呈现页面后调用x方法的方法。调用时,x将在我的页面上显示一个元素 您能帮我解决这个问题吗?您可能想使用事件,您可以使用$emit向上触发事件,或者使用$broadcast向下触发事件。您可以使用侦听器上的$on捕捉/订阅事件 因此,在指令的控制器上
DirectiveA
,它的控制器中定义了一个方法x
。我需要从另一个指令的(DirectiveB
)控制器调用此方法
问题在于我使用的应用程序,因为当您需要转到特定路线时,基本上会调用另一个指令,然后由Angular渲染。我要寻找的是找到一种在呈现页面后调用x
方法的方法。调用时,x
将在我的页面上显示一个元素
您能帮我解决这个问题吗?您可能想使用事件,您可以使用
$emit
向上触发事件,或者使用$broadcast
向下触发事件。您可以使用侦听器上的$on捕捉/订阅事件
因此,在指令的控制器上,您将侦听事件(您也可以订阅$rootScope
,但需要在指令销毁时手动解除侦听器的绑定)
在DirectiveB
上,当您想在DirectiveA
的侦听器中执行操作时,将触发事件:
$rootScope.$broadcast('mySpecialEvent', 'HI');
在directiveB中使用“require”调用directiveA。在directiveB中的“链接”中,可以添加directiveACtrl作为第四个参数。
$rootScope.$broadcast('mySpecialEvent', 'HI');