同じページの角度ルーティング
Aug 19 2020
/ frontpageまたは/ frontpage / param1 / param2 / param3であるかどうかに関係なく、すべて同じコンポーネントを使用して同じページで角度ルーティングを使用したいと思います。しかし、子コンポーネントをparam1 param2param3パラメーターで更新するだけです。
多数の子(およびその子)コンポーネントを含むフロントページコンポーネントがあります。
URLが変更されず、/ frontpageだけであるように構築していましたが、クエリとパラメーターをURLに追加して、子を更新したいと思います。
しかし、私はこれを行う方法を本当に理解していません。
app.routing.ts
{
path: '',
redirectTo: 'frontpage',
pathMatch: 'full',
},
{
path: '404',
component: P404Component,
data: {
title: 'Page 404'
}
},
{
path: '', // honestly I just realized this was here lol. I can probably take this out right? lol.. It was part of the base I am using.
component: DefaultLayoutComponent,
data: {
title: 'Home'
},
children: [
{
path: 'frontpage',
loadChildren: () => import(etcetc).then(m => m.FrontpageModule)
},
frontpage-routing.module.ts
{
path: '',
component: FrontpageComponent,
data: {
title: 'Frontpage'
},
},
/:param1 /:param2 /:param3はどこに追加しますか?
ありがとう!
回答
itspers Aug 19 2020 at 06:32
ルーティングにはオプションのパラメータはありません。2番目のルートを書き込むだけです。奇妙な理由でそこにたくさんの子が必要な場合は、それを変数に抽出して、それぞれの中に渡します。ルートはトークンを介して設定で提供されるだけで、大したことはありません。
const toneOfChildren = [...];
{
path: '',
component: FrontpageComponent,
children: toneOfChildren
},
{
path: ':param1/:param2/:param3',
component: FrontpageComponent,
children: toneOfChildren
},
そして、FrontpageComponent
パラメータをサブスクライブして、それらがここにあるかどうかを確認します。