亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

淺談angular2子組件的事件傳遞(任意組件事件傳遞)

 更新時間:2018年09月30日 08:45:54   作者:FreeMing-imduingui0  
今天小編就為大家分享一篇淺談angular2子組件的事件傳遞(任意組件事件傳遞),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

angular2子組件的事件傳遞

angular2有很多組件組成,畫面由很多路由,導致事件的傳遞很“笨拙”,本組的技術負責人發(fā)現了任意組件傳遞事件的這個方法,教會了我,我做個筆記。

項目情況:

畫面結構復雜,路由數目偏多,組件數目多,嵌套復雜。業(yè)務要求:任何出現人名的地方,點擊人名,直接打開和這個人的聊天畫面

以前用angular2官網給的烹飪技巧基本解決90%的需求,當然這個如果是用Input,Output也可以,但是那樣的話,結構將是混沌狀態(tài)。

附:angluar2的組件通訊的傳送門(anglar2的官網對Safari支持可不太好,真愛生命,請用chrome)

實現

service:

這是重點,相當于一個事件隊列,所有注入此service的組件,都可以發(fā)起事件,插入到隊列中,所有訂閱此事件隊列的組件都會收到廣播。(暫時先用廣播這個詞吧)

public eventbus: EventEmitter<any> = new EventEmitter<any>();

聊天組件:

constructor( private _workservice:WorkService) {
 // 訂閱聊天事件
 this._workservice.eventbus.subscribe(_event => {
  if (_event&&_event.name=='chart') {
  // 所有訂閱這個事件的組件都會收到eventbus上的事件觸發(fā),相當于廣播。
  // 所以使用在事件傳遞的參數中添加一個name變量來判斷這個事件是不是給我的。
   // .........
   // 此處寫處理就行了,通過_event取參數
   // .........
  }
  }
 )
 }

發(fā)起聊天的組件:

 this.workService.eventbus.emit({
  type:3,
  voipAccount:userid
 });
// 注意emit()的參數是json結構。

簡單示意

angular2子組件事件傳遞

以上這篇淺談angular2子組件的事件傳遞(任意組件事件傳遞)就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

最新評論