在AngularJS中与指令实例通信
Communicating with a directive instance in AngularJS
我有一个指令与隔离作用域被呈现在外部指令的模板内。
我想发送一个通知消息到子指令有它取消定时器。我该怎么用习惯用语来表达呢?
即使子范围是孤立的,scope.$broadcast
也会为我这样做吗?
从scope.$broadcast:
向所有子作用域(及其子作用域)分配一个事件名,通知已注册的$rootScope。听众范围。
所以它将完美地工作在你的情况下。注意,尽管被隔离了,内部指令的作用域仍然是外部指令的子作用域。孤立只是意味着这个作用域不继承原型,但是它的$parent
指向真正的父作用域。因此,在这种情况下,$broadcast当然会起作用。
下面是我设置的一个小例子来测试它:
演示:http://plnkr.co/edit/OoUqgV8oRofakXVf2OZv?p=preview
相关文章:
- ES6构造函数返回基类的实例
- KnockoutJS-组件-多个实例
- 为什么无法在TypeScript中导出类实例
- 如何在GoogleWeb工具包(GWT)中从JSNI调用接口(实例化)
- fluxxor向一个flux实例添加一组以上的操作
- 使用jQuery获取Dropzone实例/对象
- "实例范围”;TypeScript类的getter/setter
- 如何在速度模板中获取LiferayPortlet实例id
- 同一项怎么可能在一个实例中未定义,却在另一个实例上定义
- 实例创建(JS)
- 如何使用HTML5与UDP套接字通信
- 显示模块模式在Knockout中设置模型的新实例
- 如何获取单选按钮的多个实例的选定单选按钮值
- firefox插件和dev/panel之间的通信
- 一个用户脚本的两个实例如何在帧之间进行通信
- RiotJs:与标签实例通信
- 在AngularJS中与指令实例通信
- vue组件和vue实例之间的通信
- NodeJS与其他NodeJS实例通信并管理minecraft服务器
- AngularJS:如何在同一个2个控制器的多个实例之间提供独立的通信