我需要訪問發送到父組件中的子組件的Params變量。如何在不使用@Output的情況下在Angular2 rc6中的子/父組件中共享params變量?
我有以下結構:
路由:(節選)
{
path: 'song',
component: SongExerciseComponent,
children: [
{
path: 'reading/:id',
component: SongReadingComponent,
}
]
}
父組件只是一個模板保存導航鏈接。 我可以訪問:ID VAR的子組件,像這樣:
ngOnInit(): void {
this.route.params.forEach((params: Params) => {
if (params['id'] !== undefined) {
let id = +params['id'];
現在我需要在父組件相同的變量父模板中使用。
這是最有效的方法嗎?共享服務? https://angular.io/docs/ts/latest/cookbook/component-communication.html#!#parent-and-children-communicate-via-a-service
輸出很好,但如果數據應該通過組件層次結構的多個層次傳遞,它們很麻煩。共享服務對我來說看起來很適合這種情況(導航)。服務本身可以是可觀察的或EventEmitter,類似於輸出的事件發射器。 – estus