目錄
公司專案使用AngularJs 1.6開發,面對使用者複雜又特殊的requirement ,一個page切多個controller也方便未來維護,那controller間如何來互相傳值呢?
在AngularJs中 $emit , $broadcast and $on 用來處理各controller事件處理
-
$on用來接收$emit,$broadcast的事件(event) -
$emit能向父級別parent controller傳遞事件(event)與資料(data) -
$broadcast向子級別child controller傳遞事件(event)與資料(data)
1. 說明
- 若同父級別向子級別傳遞事件(
$broadcast),多個同level子級別的controller可以一起接收到事件,但其中一個子級別傳遞事件($emit),只有這個子級別的父級別可以收到事件,其他同level父級別controller無法收到事件