在AngularJS中与指令实例通信

Communicating with a directive instance in AngularJS

本文关键字:实例 通信 指令 AngularJS      更新时间:2023-09-26

我有一个指令与隔离作用域被呈现在外部指令的模板内。

我想发送一个通知消息到子指令有它取消定时器。我该怎么用习惯用语来表达呢?

即使子范围是孤立的,scope.$broadcast也会为我这样做吗?

从scope.$broadcast:

向所有子作用域(及其子作用域)分配一个事件名,通知已注册的$rootScope。听众范围。

所以它将完美地工作在你的情况下。注意,尽管被隔离了,内部指令的作用域仍然是外部指令的作用域。孤立只是意味着这个作用域不继承原型,但是它的$parent指向真正的父作用域。因此,在这种情况下,$broadcast当然会起作用。

下面是我设置的一个小例子来测试它:

演示:

http://plnkr.co/edit/OoUqgV8oRofakXVf2OZv?p=preview