在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML5  HTML/ Angular 組件之間的通訊問題。

Angular 組件之間的通訊問題。

圖片描述

大致想實現(xiàn)的就是修改用戶名的時候右上角可以監(jiān)視到這個變化也更新用戶名(中文社區(qū)好像沒有做這個...)

我剛開始看了@input和@Output
內(nèi)部子組件:

@Input() realname:string = this.userInfo.name;
@Output() changeRealname:EventEmitter<string> = new EventEmitter();
this.changeRealname.emit(this.realname);

但是有很多子頁面切換,用戶設(shè)置只是其中之一,我使用的是<router-outlet></router-outlet>所以我就不知道應(yīng)該把本應(yīng)放在子組件標(biāo)簽里面的監(jiān)聽事件加在哪兒

后來我搜到了@viewChild,但是還是因為使用的路由吧?= =所以我在父組件里面這樣使用

@ViewChild(userSetsComponent)  private userSets: userSetsComponent;  
ngAfterViewInit() {
   console.log( this.userSets);
  }

結(jié)果是undifind
求大神解惑

回答
編輯回答
何蘇葉
<router-outlet (activate)="onActivate($event)"></router-outlet>

onActivate(userSetsComponent){
    if(userSetsComponent.userInfo){
      this.userInfo=userSetsComponent.userInfo;
      this.realname = this.userInfo.name;
    }
  }

后來使用了這個,然后子組件內(nèi)保存修改的時候刷新頁面
但是感覺不太好,希望能有更好的思路

30分鐘以后補充回答:
后來使用了服務(wù)
https://stackoverflow.com/que...

2017年3月25日 05:02