我有一个指令,隔离范围在外部指令的模板中呈现。
我想向child指令发送一条通知消息,让它取消一个计时器。我怎么能这样做呢?
即使子范围是孤立的,scope.$broadcast
会为我做这个吗?
答案 0 :(得分:2)
来自范围的文档。$ broadcast:
将事件名称向下调度到所有子范围(及其子级),通知已注册的$ rootScope.Scope侦听器。
因此,它将完美地适用于您的情况。请注意,尽管被隔离,但内部指令的范围仍然是外部的 child 范围。 Isolated is意味着此范围不会原型继承,但其$parent
指向真正的父范围。所以$ broadcast当然会在这种情况下起作用。
这是我设置的一个小例子来测试它: