2016-11-25 18 views
6

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'} 
    ] 
+1

すべてのルート設定を表示してください。そして、どのコンポーネントで 'params'にアクセスしたいですか? – mxii

+0

@mxiiがルートコンフィギュレーションを追加しました – Nik

答えて

1

あなたはpathFromRootプロパティでルートのツリーにアクセスすることができ、それはすべての親と​​3210の配列を返します。

this.route.pathFromRoot[2].params