私はサーバーに行きオブジェクトをフェッチする親コンポーネントを持っています。"router-outlet"子コンポーネント(角2)にデータを渡す
// parent component
@Component({
selector : 'node-display',
template : `
<router-outlet [node]="node"></router-outlet>
`
})
export class NodeDisplayComponent implements OnInit {
node: Node;
ngOnInit(): void {
this.nodeService.getNode(path)
.subscribe(
node => {
this.node = node;
},
err => {
console.log(err);
}
);
}
そして、私の子表示(いくつかの1)で
export class ChildDisplay implements OnInit{
@Input()
node: Node;
ngOnInit(): void {
console.log(this.node);
}
}
それは私がちょうどルータコンセントにデータを挿入することができます考えていないようです。それは私がWebコンソールでエラーが出るようにこれはやや理にかなって
Can't bind to 'node' since it isn't a known property of 'router-outlet'.
...見えますが、私はどうなるか、次の....
1) Grab the "node" data from the server, from within the parent component
2) Pass the data I have retrieved from the server into the child router-outlet
それはように見えるしていませんルータ出口も同じように機能します。
これは私のために働くように見えます。ちょっと混乱しているようですが、休憩です。 – Zack
さて、私はちょうど別のメソッド "announceNewNode"を自分のノードサービスに追加しました。これは、子コンポーネントが更新するべき時を知ることができるようにします。次に、子コンポーネントのサービスを購読します。ありがとう! – Zack
最後のクラスでは、 "$"です。タイプミス?私はそれへの参照を見つけることができません... – Gyromite