2017-01-24 8 views
0
showBio(id) { 
    this.router.navigate(['/speakers', {outlets: {'bio': [id]}}]); 
} 

私は[routerLink]に書き込むことができますが、それでもIDを渡すことはできますか?私は参考のために、この例を以下の午前 :Examplethis.router.navigateコードに相当する[routerLink]コードは何ですか?

+0

クリックイベントをバインドする必要があります。関数内で、移動先の行を書き込むことができます –

+0

はい、それは問題なく機能しています。しかし、それも可能でなければならないので、私は[routerLink]と一緒に使用したいと思います。以前は名前付きルーターなしで[routerLink]を使っていました。今私は名前付き店舗でそれを更新しています。 –

答えて

1

ルートの構文は[routerLink]と同じまま:

このため
<a [routerLink]="['/speakers', {outlets: {'bio': [id]}}]">Link</a> 

仕事に、idプロパティがテンプレートにさらされる必要があります。

+0

私も同じことを試みました。しかし、私はこのエラーが発生しています: エラー:いずれのルートにも一致しません: 'speakers' 同時に、私はShowBio(id)によって特定のスピーカーバイオに移動できます。 –

+0

このパス( '' speakers '' - 最初のスラッシュを含む)を正確に使用しましたか?パスを調整する必要があるかもしれません。デフォルトでは、routerLinkのパスは現在のパスからの相対パスです。私のコードでは、あなたのアプリのルート**に '/ speakers' **があると仮定しています。 – AngularChef

+0

はい、ルートルーティングモジュールには '/'がありません。 –

関連する問題