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

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




  
  


  
当点击triggerEmit时,会打印出

ctrl2 get emit
ctrl1 get emit

当点击triggerBroadcast时,会打印出

ctrl2 get broadcast
ctrl3 get broadcast

你可能感兴趣的:(angular1)