कोणीय 1.xx में आप बस एक ही सेवा के लिए पूछते हैं और आप एक ही उदाहरण के साथ समाप्त होते हैं, जिससे सेवा में डेटा साझा करना संभव हो जाता है।
अब एंगुलर 2 में मेरे पास एक घटक है जिसमें मेरी सेवा का संदर्भ है। मैं सेवा में डेटा को पढ़ और संशोधित कर सकता हूं, जो अच्छा है। जब मैं उसी सेवा को किसी अन्य घटक में इंजेक्ट करने की कोशिश करता हूं, तो ऐसा लगता है जैसे मुझे एक नया उदाहरण मिलता है।
मैं क्या गलत कर रहा हूं? क्या यह वही पैटर्न है जो गलत है (डेटा साझा करने के लिए किसी सेवा का उपयोग करके) या क्या मुझे सेवा को एक सिंगलटन (ऐप के एक उदाहरण के भीतर) या कुछ और के रूप में चिह्नित करने की आवश्यकता है?
मैं 2.0.0-alpha.27/ btw पर हूँ
मैं एनोटेशन में एक सेवा के माध्यम से appInjector(संपादित करें: अब providers) इंजेक्ट करता हूं @Componentऔर फिर कंस्ट्रक्टर में एक संदर्भ सहेजता हूं । यह घटक में स्थानीय रूप से काम करता है - बस घटकों के पार नहीं (वे उसी सेवा उदाहरण को साझा नहीं करते हैं) जैसे मैंने सोचा था कि वे करेंगे।
अद्यतन : कोणीय 2.0.0 के रूप में, अब हमारे पास @ngModule है, जहां आप इस providersसंपत्ति को सेवा के तहत परिभाषित करेंगे @ngModule। यह उस मॉड्यूल में प्रत्येक घटक, सेवा आदि को पारित करने के लिए उस सेवा का एक ही उदाहरण सुनिश्चित करेगा।
https://angular.io/docs/ts/latest/guide/ngmodule.html#providers
अद्यतन : सामान्य रूप से कोणीय और फे विकास के लिए बहुत कुछ हुआ है। जैसा कि @noririco ने उल्लेख किया है, आप एक राज्य प्रबंधन प्रणाली का भी उपयोग कर सकते हैं जैसे NgRx: https://ngrx.io/