/app
- app.component.ts
- app.component.html (hide/show: menu bar)
- app.global.service.ts (Public varible LoginSuccess:boolean)
- main.ts
/student
- student.ts
- student.service.ts
- student.component.ts
- student.component.html
/security
- login.component.ts (LoginSuccess = true)
- login.component.html
कोणीय 2 के मेरे आवेदन में, मुझे एक साधारण आवश्यकता है जहां मैं लॉगिन सफलता के आधार पर छुपा मेनू बार दिखाना चाहता हूं। इसके लिए मैंने एक सेवा बनाई है जिसमें सिर्फ एक लॉगिनस्यूप बूलियन वैरिएबल है, जिसे मैं लॉगिन घटक पर सेट करूंगा और [hidden]=LoginSuccess
एनएवी टैग के लिए app.component.html पर उपयोग करूंगा।कोणीय 2 वैश्विक सेवा प्रदाता
समस्या का सामना करना पड़ रहा हूँ के माध्यम से app.component.ts & login.component.ts
मूल्य की constructor
बने नहीं है और प्रत्येक निर्माता app.global.service.ts
की नई वस्तु बनाने app.global.service.ts
इंजेक्शन लगाने के बाद भी है।
प्रश्न: मैं सेवा के माध्यम से आवेदन के दौरान एकल मूल्य को बनाए रखने के लिए कैसे प्राप्त कर सकता हूं। Angular2 दस्तावेज़ों में कहीं, मैंने पढ़ा था कि इंजेक्शन योग्य सेवा सिंगलटन है।
और क्या बारे में अगर हम की तरह, बूटस्ट्रैप के समय में कुछ घटकों प्रदान करना चाहते हैं हमने Globalservice में किया था? –
बस यह कह रहा है: यदि घटक, जिसे आप सिंगलटन (वैश्विक) सेवा इंजेक्ट करते हैं, एक अलग फ़ाइल में है, फिर भी आपको सेवा लोड करने के लिए उस फ़ाइल में एक आयात कथन का उपयोग करना होगा: "आयात {AuthService}" ./ सेवाएं/auth.service ";' – Samuel
लेकिन अगर मैं इसे प्रदाताओं में नहीं जोड़ता: [] मुझे एक त्रुटि मिलती है; छूट: ग्लोबल सेवा के लिए कोई प्रदाता नहीं! –