0
Angular2サブスクリプションはページの読み込み時にのみ起動します。 routerLink
を離れてからに設定すると、home.componentのcheckUser()
機能が起動しません。Angular2はルート変更でサブスクリプションを使用しています
たとえば、routerLinkを別のページ(about)に設定します。私のページで私のホームページにrouterLinkを設定した場合、私のcheckUser()
の機能がのhome.componentから機能しません。
サブスクリプションをこれらのルート変更で使用するには、どのような方法が最適ですか?
マイhome.component
export class HomeComponent implements OnInit {
private username$: FirebaseObjectObservable<string>;
private dashlink: boolean;
private logsub: Subscription;
constructor(private mainService: MainService){
}
checkUser(){
this.logsub = this.mainService.userThere$.subscribe(isUser => {
if (isUser){
alert("Yes");
}
});
}
ngOnInit(){
this.checkUser();
}
}
あなたの説明は正しいものです。 ngOnInitは、ルートがヒットするたびに呼び出される必要があります。おそらくhttps://github.com/angular/angular/issues/8012に関連しています – Fiddles