Iルートを持っている:/アプリ/プロジェクト/ 23 /ビュー角度2つのルートのparams
パスの各部分は前の部分の子であり、すべての子どもたちがもしわからない(遅延ロードされていますここでは遅延ロードされたビットは関連性がある)
/app (root component)
/project (child component of app, child route of app)
/23 (route param 'projectId')
/views (child component of project, child route of project)
私は、ルートパラメータにアクセスしようとしている 'PROJECTID'(この場合:23)
を次のように行う:
constructor(private route: ActivatedRoute) {}
ngOnInit() {
this.route.params.subscribe(params => {
console.log('params:', params);
}
私がこれをやってthis.route.params
params: {}
のための空のオブジェクト与える:それはので
params: Object {projectId: "23"}
:
constructor(private route: ActivatedRoute) {}
ngOnInit() {
this.route.parent.parent.params.subscribe(params => {
console.log('params:', params);
}
は私が探しているものを私に与えますが子ルートである場合は、this.routeを指定する必要がありますか。 parent.parent(いくつかの)親ルートのルートパラメータを取得するには?私は子供のルートの深さを変更して、一歩下に移動
1)次の場合に何が起こるので
はフルルートからのparamsを得るための任意のより良い方法があります。これを言うために私のコードを今変更する必要がありますか。ルート。 parent.parent.parent .params
2)または、それは第10世代(世代?,子孫?、偉大な偉大な孫)ですか?私は次に言う必要があります:this.route。 parent.parent.parent.parent.parent.parent.parent.parent.parent .params
---編集:---設定ファイルをルーティング
app.routing.ts
を追加しましたconst routes: Routes = [
{path: 'app', loadChildren: './views/private/private.module#PrivateModule'}
];
private.routing.ts
const routes: Routes = [{
path: '',
component: PrivateComponent,
children: [
{path: 'project', loadChildren: './project/project.module#ProjectModule'},
{path: '', redirectTo: 'project', pathMatch: 'full'}
]
project.routing.ts
const routes: Routes = [{
path: ':projectId',
component: ProjectComponent,
children: [
{path: 'views', loadChildren: './views/views.module#ViewsModule'},
{path: '', redirectTo: 'views', pathMatch: 'full'}
]
すべてのルート設定を表示してください。そして、どのコンポーネントで 'params'にアクセスしたいですか? – mxii
@mxiiがルートコンフィギュレーションを追加しました – Nik