1

次のような angular2.my ルーティング構成のルーティングでオプションのパラメーターを定義する方法:

<a [routerLink]="['../abc',{xyz: blabla}]">
     and 
<a [routerLink]="['../abc']">

{ path: '/abc/:xyz', component: abc, name: 'abc' },  // Here i want xyz as optional perameter

blablaしたがって、問題は、ルーティング時にパラメーターを定義したため、最初のメソッドをパラメーターで使用しているときはいつでも正常に機能しますxyz が、2番目のメソッドの場合、パラメーターを送信したくないため、URL が

http://localhost:8080/#/sideNav/abc/

これは初めて問題なくロードされますが、ページを更新した後、ウィンドウ全体がコンテンツなしで空白になっていることは何も表示されません。angular2でのルーティング中にオプションのパラメーターを提供する方法はありますか。

i have also tried without defining parameters like this

{ path: '/abc', component: abc, name: 'abc' }

ただし、xyz の値が次の1ように変換1される場合、これはエラーをスローします。true

4

2 に答える 2

6

同じコンポーネントを持つパラメーターの有無にかかわらず、複数のルートを定義できます。

@RouteConfig([{
  path: '/abc',
  component: Abc,
  name: 'abc'},
{
  path: '/abc/:xyz',
  component: Abc,
  name: 'abcXyz'
}])

次に、必要なものを使用します

<a [routerLink]="['/abcXyz',{xyz: blabla}]">
     and 
<a [routerLink]="['/abc']">

routeCongigがルート ファイルにある場合は、/ルートの名前の前に使用し、2 番目のレベルなどにある場合は使用します。

<a [routerLink]="['/parentRoot', {parentParams:value}, '/abc']">
于 2016-03-19T06:48:21.880 に答える
0

両方合わせてもいいし、

@RouteConfig([
    { path: '/abc/:xyz', component: Abc,  name: 'abc' }
    { path: '/abc', component: Abc, name: 'abc' },
])

これが期待どおりに機能しない場合は、以下を参照してください。

Optional routeparams #3525
https://github.com/angular/angular/issues/3525

于 2016-03-19T06:51:08.757 に答える