एंगुलर 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 injects घटक खुद के बजाय अपनी मूल घटक है।
मैं एक घटक के मूल घटक को इंजेक्ट करने के लिए कोणीय कैसे कह सकता हूं भले ही वे एक ही प्रकार के हों?
Plunkerhttps://plnkr.co/edit/ddvupV?p=preview
आप माता-पिता को इंजेक्ट क्यों करते हैं, क्यों न केवल डेटा बाध्यकारी का उपयोग करें? –
इसे आजमाएं: http://stackoverflow.com/questions/34540615/how-do-i-inject-a-parent-component-into-a-child-component – Damitha