2016-12-22 8 views
0

角度2を使用していくつかのルートを定義しています。子コンポーネント内から親コンポーネントにマップされたルートパラメータにアクセスするにはどうすればよいですか? (角2.0)

私はこのようなルート設定を持っています。

const routes: Routes = [ 
    { path : ':id', component : ParentComponent, 
     children : [ 
      { path : '', redirectTo: 'metadata', pathMatch : 'full' } 
      { path : 'metadata', component : MetadataDisplayComponent }, 
      { path : 'data', component : DataDisplayComponent }  
     ] 
    } 
] 

ParentComponent内の "id"パラメータにアクセスしようとすると、すべて正常に動作します。

// ParentComponent 

ngOnInit(): void { 
    this.sub = this.route.params.subscribe(params => { 
     this.path = params['id']; 
     console.log(this.path); // logs the value of ":id" 
    }); 
} 

ただし、子コンポーネント "DataDisplayComponent"内から同じパラメータにアクセスしようとすると、定義されていない結果になります。

子コンポーネント内で動作している間に、親コンポーネントにマップされたルートパラメータをきれいに取得する方法はありますか?子コンポーネントに伝えるためにメッセージを渡すことを考えましたが、やや面倒な解決策のようです。思考?

答えて

1

私は愚かだと感じます。

私は

this.sub = this.route.parent.params.subscribe(params => { 

Thisリンクは右の場所に私を操縦必要。可能な重複

関連する問題