Monday, 15 September 2014

javascript - Send $http request before initialize routing? -


मेरे पास $ rootScope है। $ ("$ StateChangeStart") घटना जो शीर्षक , और विवरण और मुझे $ rootScope ऑब्जेक्ट का उपयोग करने के बाद करना होगा $ http अनुरोध, मेरे ईवेंट में। समस्या यह है कि जब $ stateChangeStart ईवेंट चलता है, मेरा वस्तु अपरिभाषित है।

मैंने अपने ui-router राज्यों पर हल का उपयोग करने की कोशिश की है। लेकिन यह केवल नियंत्रक के लिए काम करता है, event नहीं।

क्या आप मुझे एक समाधान के साथ आने में मदद कर सकते हैं, जो मेरी सेवा ( रूटिंग आरंभ (और $ stateChangeStart ईवेंट चलाता है) से पहले $ http अनुरोध), और यह राज्य परिवर्तन के बाद फिर से इस सेवा को नहीं चलाएगा।

मैंने इसे वादा के साथ हल करने का प्रयास करने का निर्णय लिया:

  $ ("$ StateChangeStart", फ़ंक्शन (ईवेंट, toState, toParam, fromState, fromParams) {if ($ rootScope.myObj) {// अगर मेरी "ऑब्जेक्ट" पहले से ही इवेंट लॉजिक ();} और (getMyObj) Init ()। तब (फ़ंक्शन (रेस) {// कॉल सेवा जो एक वादा किया गया इवेंट लॉन्जिक ();})}} समारोह eventLogic () {...}}  

यह समाधान मेरी समस्या पूरी तरह से हल करती है। यह $ rootScope.myObj के लिए इंतजार करता है और यह केवल एक बार इस सेवा को चलाता है।

< / Html>

No comments:

Post a Comment