2017-12-28 7 views
1

この質問は以前はポップアップしているように見えますが、ルータが角度の寿命にわたって多くの変更を加えたように見えます。角度が異なるパラメータで同じルートにナビゲートする

5番の角度では、ユーザーを編集したい場所があります。そのコンポーネントの中から、私も自分のユーザーを編集するには、ボタンをクリックすることができ、次に/ editsingleuser /ボブに

を私に送信されます

this.router.navigate(['editsingleuser',user.username]) 

:私は、次のコードで、そのコンポーネントに移動しますeditsingleuser /ジョー/に私を送信する必要があり

this.router.navigate(['editsingleuser',this.user.sub]) 

が、ないない

:ユーザーが次のコードの詳細、

router.navigateに追加できるパラメータはありますか?それは何らかのキャッシュをしているようですが、ルートをロードするよう強制しますか?

私はまた、あなたがeditsingleuserルートに既にあるので、あなたがeditsingleuser/joeに移動することはできません同じ問題

答えて

1

を持って

[routerLink]="['editsingleuser',user?.sub]" 

を使用して試してみました。これに

this.router.navigate(['editsingleuser',this.user.sub]); 

this.router.navigate(['/editsingleuser',this.user.sub]); 

だから、あなたが行くことを、ルータに言う必要になります場合は、あなたのeditsingleuserコンポーネントに次のコードを変更する必要がありますよりも、同じルートにeditsingleuserから移動しますルートはeditsingleuserです。

Here私はあなたのための実例を作成します。

1

この問題への答えは(私はngOnInitでページ

のデータをフェッチするとき、私は私のEditSingleUserコンポーネントでルートパラメータを購読すると、この値を使用していたということでした)

this.route.params 
    .switchMap((p: Params)=>{ 
     let usr = p['username']; //read the username route parameter 
     return this.apiService.getUser(usr)}  //call getUser with that parameter 
     ) 
    .subscribe(data=> { 
    this.user= data 
    console.log("data :" + JSON.stringify(data)); 
    this.setupFormData();   //use the resulting data to set up the form 
    }) 
関連する問題