अगर आप Angular.js में $ गुंजाइश चर हेरफेर करने के लिए एक नियंत्रक है, वहाँ के लिए एक मुहावरेदार तरीका है:reinitialize एक Angular.js नियंत्रक
- रीसेट नियंत्रक के $ गुंजाइश है, और
- पुनः आरंभ नियंत्रक आरंभीकरण ?
जटिल नियंत्रकों के लिए यह यह प्रारंभिक मूल्य है करने के लिए, खासकर यदि आप वास्तव में क्या चाहते हैं नियंत्रक और गुंजाइश का एक सरल होने की आवश्कता है हर चर रीसेट करने के लिए नहीं बहुत सुविधाजनक होगा। $location.path()
के माध्यम से फिर से उसी यूआरएल पर नेविगेट करने से मदद नहीं मिलती है।
संपादित करें: मान लीजिए कि मैं किसी भी $window.location
हैक का उपयोग नहीं कर सकता क्योंकि यह क्रोम पैक किए गए ऐप्स में सीएसपी का उल्लंघन करेगा।
मैं सहमत नहीं हूँ, मुझे लगता है कि यह एक पूरी तरह से सुरुचिपूर्ण समाधान है। एक अर्थ में, आप पृष्ठ को फिर से लोड कर रहे हैं, इसलिए $ route.reload() बहुत समझ में आता है। – wvdz
@popovitsj: हालांकि यह जानना बहुत अच्छा है कि इसे खराब अभ्यास नहीं माना जाना चाहिए, मैं अभी भी वास्तव में विश्वास नहीं कर रहा हूं। जबकि आप निश्चित रूप से सही हैं कि इस समाधान के लिए कुछ अपील है क्योंकि अर्थात् '$ path.reload() 'पृष्ठ को पुनः लोड करने के समान है, यह अभी भी बहुत अधिक उपर का उत्पादन करता है। यह बहुत से विशिष्ट उपयोग मामलों में अनजान हो सकता है (यह निश्चित रूप से उस समय मेरा था), लेकिन यह अभी भी एक समान साफ विधि होना अच्छा लगेगा जो इस ओवरहेड को बनाने से बचाता है। – bfncs
क्या हम ऑनिनिट की सामग्री को एक निजी विधि में ले जा सकते हैं (इसे 'init' कहें) और इसे ऑनिनिट से कॉल करें और अंत में नियंत्रक को जितनी बार चाहें रीसेट करने के लिए उसी निजी विधि का उपयोग करें? – JVM