angular1中的事件,以及$broadcast,$emit的区别

angular1中,使用$scope.$on(事件名,处理函数)可以接收事件,使用$scope.$broadcast(事件名,数据)或者$scope.$emit(事件名,数据)可以触发事件。那$broadcast和$emit有什么区别呢。他们的区别在于,$broadcast会向下广播事件即只有本身和子controller可以收到这个事件,而$emit向上广播事件,即只有本身和父controller可以收到这个事件。看例子。

- 锐客网

当点击triggerEmit时,会打印出 ctrl2 get emit
ctrl1 get emit
当点击triggerBroadcast时,会打印出
【angular1中的事件,以及$broadcast,$emit的区别】ctrl2 get broadcast
ctrl3 get broadcast


    推荐阅读