标签: javascript angularjs
我已遵循此post
我有一个包含(并且它被调用)的父组件:
$scope.$broadcast('searchNoFilter');
和包含(并且它被调用)的子组件:
$scope.$on('searchNoFilter', function(e) { self.search(); });
父母触发该事件, 但是孩子的$on身体并没有被召唤。
$on
我错过了什么?
答案 0 :(得分:1)
Broadcast和emit以不同的方式运作。广播向子范围发送事件,同时向父母发送。很可能你错过了。如果你从rootScope广播,这应该可行。
Broadcast
emit
rootScope
详情请参阅here here
答案 1 :(得分:0)
广播事件很可能是在侦听器附加到子组件范围之前发生的。最好避免广播事件。父元素中的事件是否修改父元素中的模型值。使用单向<绑定将父模型值绑定到子组件范围。无论何时实例化子组件,模型值都会持续存在并且可用。事件是短暂的,可能会错过。
<