角2では、子コンポーネントはコンストラクタパラメータを介して親コンポーネントを注入できます。例:子コンポーネントと同じタイプの親コンポーネントを挿入する
@Component({...})
export class ParentComponent {
...
}
@Component({...})
export class ChildComponent {
constructor(private parent: ParentComponent) { }
...
}
これは、親子がさまざまな種類のものであることは間違いないが、よく働く。
ただし、別の典型的な使用例は、各ツリーノードが別のコンポーネントとして表示されるツリー構造です。ツリーノードコンポーネントのそれぞれがその親にアクセスする必要がある場合はどうすればよいですか?私はこれを試してみました:
@Component({...})
export class TreeNodeComponent {
constructor(private parent: TreeNodeComponent) { }
...
}
しかし、これは、次の実行時例外で失敗します。
EXCEPTION: Cannot instantiate cyclic dependency!
は、私はその理由は、角2は、コンポーネント自体の代わりに、その親コンポーネントを注入ということですね。
同じ種類のコンポーネントでも、コンポーネントの親コンポーネントを挿入するにはどのように角度を指定できますか?
Plunkerhttps://plnkr.co/edit/ddvupV?p=preview
なぜデータバインディングだけではなく、なぜ親を注入するのですか? –
これを試してください:http://stackoverflow.com/questions/34540615/how-do-i-inject-a-parent-component-into-a-child-component – Damitha