与AngularJS中的指令实例进行通信

时间:2015-10-15 15:13:28

标签: javascript angularjs

我有一个指令,隔离范围在外部指令的模板中呈现。

我想向child指令发送一条通知消息,让它取消一个计时器。我怎么能这样做呢?

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

1 个答案:

答案 0 :(得分:2)

来自范围的文档。$ broadcast:

  

将事件名称向下调度到所有子范围(及其子级),通知已注册的$ rootScope.Scope侦听器。

因此,它将完美地适用于您的情况。请注意,尽管被隔离,但内部指令的范围仍然是外部的 child 范围。 Isolated is意味着此范围不会原型继承,但其$parent指向真正的父范围。所以$ broadcast当然会在这种情况下起作用。

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

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