2016-07-14 13 views
0

ルータを再構築するにはどうすればいいですか?同じルータをロードして別のパラメータをロードすると、URLのみが変更され、ビューは変わりません。ルータを言うための何らかの方法がありますか? "ねえ、あなた自身を再構築してください"Angular2ビューを再構築する方法(ルーティング)

window.location.reload()のような効果が必要ですが、再読み込みはしません。

答えて

1

異なるパラメータで同じルートに移動すると、コンポーネントが再利用されます。従ってngOnInitは再度呼び出されないので、ページが更新されていないと思うかもしれません。あなたはngOnInitでrouteparamに加入して、あなたに感謝し、また別のようquestion

+0

ちょっと見

constructor( private route: ActivatedRoute, private router: Router,......) {} In the ngOnInit method, we use the ActivatedRoute service to retrieve the parameters for our route ngOnInit() { this.sub = this.route.params.subscribe(params => { let id = +params['id']; // (+) converts string 'id' to a number //here goes your logic like below this.service.getHero(id).then(hero => this.hero = hero); }); } 

コンストラクタ

に加入機能に

を注入活性化のルートを表示の更新を行う必要があります。それは動作していますが、変です。私は1台のルータバックです。それは次のようなものです:Cliked A - >何もない、Bをクリック - > Aにリダイレクト、Cをクリック - > Bにリダイレクトしました。 – elzoy

+0

チェックした後、コンソール表現に関する警告が表示されることがあるコードを表示します。 setTimeoutにsetterをラップしてみてください。パラメータ処理に関連するコードを表示 –

+0

申し訳ありませんが、私のコードをリファクタリングするのを忘れていました。私はparams ['id']の代わりにthis.route.params.snapshot ['id']というサブスクリプションを使っていました。ありがとう、あなたロック;) – elzoy

関連する問題