を使用して、親コンポーネントから子ルート データ (「レイアウト」) を取得しようとしていますActivatedRoute
。次の例を試してみましたが、探しているデータを取得できましたが、一度だけです。子ルートの変更中に、更新された「レイアウト」値が表示されません。
ルート
const routes: Routes = [
{
path: '',
component: Layout1Component,
children: [
{
path: '',
redirectTo: 'home',
pathMatch: 'full'
},
{
path: 'home',
loadChildren: './pages/analytics/analytics.module#AnalyticsModule',
data: {
layout: 'boxed'
}
},
{
path: 'files',
loadChildren: './pages/files/files.module#FilesModule',
data: {
layout: 'full'
}
}
]
}
];
Layout1Component
export class Layout1Component implements OnInit {
constructor(private service: AppService, route: ActivatedRoute) {
this.layout = route.snapshot.firstChild.data['layout'];
route.url.subscribe(() => {
console.log(route.snapshot.firstChild.data['layout']);
});
}
}
ルートが変更されるたびに、更新された「レイアウト」値で console.log が出力されるようにします。
これを修正するのを手伝ってください。