在AngularJS中使用$broadcast(),$emit()和$on()

前端之家收集整理的这篇文章主要介绍了在AngularJS中使用$broadcast(),$emit()和$on()前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我明白$Broadcast(),$Emit()和$On()用于在一个控制器中引发事件并在另一个控制器中处理.如果可能,有人可以给我一些关于上述三个使用的实时示例,因为我是新的角度JS?

我已经通过以下链接了解基本用法.

http://www.binaryintellect.net/articles/5d8be0b6-e294-457e-82b0-ba7cc10cae0e.aspx

$放出

它通过范围层次结构向上分派事件名称,并通知给已注册的$rootScope.Scope侦听器.事件生命周期从调用$emit的范围开始.事件向上移动到根范围,并调用所有注册的侦听器.如果其中一个收听者取消该事件,则该事件将停止传播.

$广播

它将事件名称向下发送给所有子范围(及其子代),并通知给已注册的$rootScope.Scope侦听器.事件生命周期从调用$广播的范围开始.对此范围内的事件的所有听众都会收到通知.之后,事件向下移动到子范围,并呼叫所有注册的听众.事件无法取消.

$上

它听一个给定类型的事件.它可以捕获$broadcast和$emit发出的事件.

视觉演示:

演示工作代码,可视化显示范围树(父/子关系):
http://plnkr.co/edit/am6IDw?p=preview

演示方法调用

$scope.$on('eventEmitedName',function(event,data) ...
  $scope.broadcastEvent
  $scope.emitEvent
原文链接:https://www.f2er.com/angularjs/140492.html

猜你在找的Angularjs相关文章