0

Angular ルーターで奇妙なことに遭遇したのはこれが 2 回目です。現在、Angular v4.3.1 を使用しています。

オブジェクトの作成と編集に同じコンポーネントを使用しています。これが、このコンポーネントに 2 つのルートを定義したい理由です。1 つは ID 付きで、もう 1 つは ID なしです。

次のルートを作成しようとしました。

{
    path: 'company/settings/survey',
    component: SurveyComponent,
    children:[
      {path:':id',
      component:SurveyComponent
      }
    ]
}

しかし、この場合、私の id パラメータは決して設定されません。

私はそれを取得しています:

  this.route.paramMap.subscribe((params) => {
    if (params.has('id')) {
        //Some stuff
    }
  }

現在、フェイルバックを使用しています:

  {
    path: 'company/settings/survey',
    component: SurveyComponent,
  }, {
    path:'company/settings/survey/:id',
    component: SurveyComponent
  }

しかし、最初のソリューションが機能しない理由を理解したいと思います。

ご協力いただきありがとうございます !

4

2 に答える 2