Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 从另一个指令调用指令控制器方法';s控制器_Angularjs - Fatal编程技术网

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');