内容
angular8でpathに
/search/:queryと定義して:queryが変わったのに、ngOnInitが動作しない場合の対応
ダメな時のソース
ng.ts
ngOnInit() {
q = this.route.snapshot.paramMap.get('query');
//ここでデータを読み込む
this.service.httpget(q).subscribe( data=>{
this.data = data;
}
}
動いたときのソース
ok.ts
ngOnInit() {
this.route.paramMap.subscribe(param=>{
q = param.get('query');
this.service.httpget(q).subscribe( data=>{
this.data = data;
}
}
}
つまり、OnInitでsubcsribeしておいて、変更を取得するということらしい。成程。なんでもsubscribeなんだなあ。デバッグ大丈夫なんかなあ?