1

私は得ることができるIDを得た後にrouterLinkを使用してページに移動しようとしています。角度2ルーティング - ルータRC3

問題は、リンクが '/ page; id = 10/component'として表示されていることです。マイページで

@RouterConfig = [ 
    { path: 'page/:id/component', component: MyComponent, data: {id: 'item.id'} } 
]; 

:私のapp.routes.tsで

と、 - それは( 'ID =' いいえ表記行列ではない) '/ページ/ 10 /コンポーネント' として表示するために私が希望します:

<a [routerLink]="['page', {id: item.id}, 'component']"> 

最新のAngular 2 Routerコンポーネント(RC3 Beta 2)を使用しています。

誰かが間違っていることを知っていますか?前もって感謝します。

答えて

1

これは次のようになります。

<a [routerLink]="['page', {'id': item.id}, 'component']"> 

の代わり:

<a [routerLink]="['/page', item.id, 'component']"> 
+0

ありがとうございました。私はそれを試みたが、同じことをまだ得ている... – Netwraith

+0

私は私が取り組んでいるアプリで同じことをする。多分あなたはどこか別のところにエラーがあります。コンポーネントディレクティブリストにROUTER_DIRECTIVESがあることを確認してください。 – Yhlas

+0

奇妙な。私は私のディレクティブリストにもルータディレクティブを持っています。 – Netwraith

0

私が見ることができるものから、この

<a [routerLink]="['page', item?.id, 'component']"> 
+0

ありがとうございます。同様に試してみましたが、 'item'を参照している可能性があります。私はサービスを介してアイテムを取得しており、ページの他の場所から別のプロパティを表示しています。 – Netwraith

+0

私の更新された答えに示唆されているようにエルヴィス演算子を追加してみてください –

+0

うーん、それはまだ幸運を試みた:|同じエラー – Netwraith

0

を試してみて、このルート設定は動作しません。

{ path: 'page/:id/component', component: MyComponent, data: {id: 'item.id'} } 

最終的に'/component'が必要な場合は、本当に尋ねる必要があると思います。そうであれば、child routeを追加することをお勧めします。

もう1つの方法は、代わりにpage/component/:idを使用してルートの順序を変更することです。私はrouterlinkディレクティブがあなたのURL検索パラメータをルートの終わりに追加すると思うので、これはうまくいくはずです。

また、最も簡単な解決策は、ルート設定から'/component'を削除することです。

関連する問題