コンポーネントを再レンダリングさせたい
色々な状況が複雑に絡み合っていた。ある処理を行ったあと、初期表示に戻したいという要件があり、それじゃあということで、表示用にデータを作り直したりと色々手を尽くしたが、前述したように色々な状況が複雑に絡み合っていせいで、どうにもできなかった。
そこで、いっそコンポーネントをまるっと再レンダリングしちゃえ、ということにした。
で、それを実現するのが下記コード。
constructor(private router: Router) {}
~
this.router.navigateByUrl('/RefreshComponent', { skipLocationChange: true }).then(() => {
this.router.navigate(['Your actualComponent']);
});
行われていることは、1度RefreshComponent
というページに飛び、Your actualComponent
に戻ってくるという処理。ただユーザーはそれに気が付かない。つまりハック的な対処方法なので、使うのは自己責任で。