javascript - Angular model does not change(update) after changing url -
समाधान: मेरे पास कुछ सूची है, उदाहरण के लिए व्यक्तियों की सूची अगर मैं विवरण पृष्ठ पर जाता हूं (अलग-अलग दृश्य, अलग नियंत्रक) मेरे पास यूआरएल है: # / PersonDetails / 0c4274ed-ae76-4648-bba4-434a3040b9c5, लेकिन जब कोई रिटर्न और कुछ अन्य व्यक्ति विवरण देखना चाहते हैं तो मुझे एक ही पृष्ठ मिलता है जैसा कि पहले althougt मैं देख सकता हूं कि मैंने पहले ही भेजा है कि दूसरे व्यक्ति को पाने के लिए अनुरोध किया गया है ऐसा लगता है कि कोणीय नए डेटा को अनदेखा करता है, अगर इसमें कुछ डेटा पहले आबादी हो। यदि आवश्यक हो तो यह प्रासंगिक कोड है: }); }); मैंने $ दायरे के अंदर अपना गुंजाइश जमा रखा था। $ लागू होते हैं () परन्तु मुझे पहले से ही $ डाइजेस्ट मिल रही है: पहले से ही प्रगति में डाइजेस्ट $ संपादित करें: फ़ैक्टरी फ़ंक्शन सेवा से अच्छा डेटा देता है, लेकिन जब मैं अपना प्रचार करता हूं। तब (फ़ंक्शन (परिणाम) {मेरे नियंत्रक परिणाम के अंदर कैश किया गया है! (लेकिन जब मैं कंसोल। लॉग (data.data) फ़ैक्टरी पद्धति के अंदर यह _get विशिष्ट व्यक्ति रिटर्न अप-टू-डेट डेटा! मैं सब कुछ JSON लिखना सक्षम होना चाहिए इसके अलावा आप अपनी सेवा को आसान बना सकते हैं क्योंकि पोस्ट विधि एक वादा देती है। अपने नियंत्रक में आपको इसके लिए यह परिवर्तन करना होगा: var deferred2 = $ q.defer (); यह विधि _getSpecificPerson के अंदर होना चाहिए ( ) क्योंकि जब मैं एल्डेई में दूसरे व्यक्ति का वादा करता हूँ इस तरह से मैं हर बार नए आस्थगित वस्तु का निर्माण करता हूं।
व्यक्ति मॉड्यूल.controller ("PersonDetailsController", फ़ंक्शन ($ दायरा, $ http, डेटासेवा, $ मार्ग पाराम) {var आईडी = $ routeParams.PersonId; var myPromise = डेटाएसर्विज़ि.जेटस्पैक्सिज़ेस (आईडी); मायप्रोमिसेज। (फ़ंक्शन (परिणाम) {var लौटा पीर्सन = रिजल्ट; अगर (लौटा हुआ पीसरन। एलेक्सिम) {$ scope.OnePerson = JSON.parse (लौट आए Person.AllXml);}});
personModule.factory ('dataService', फ़ंक्शन ($ http, $ q) {var deferred = $ q.defer (); var deferred2 = $ Q.defer (); var _getPersons = function () {$ http.post (रूट + 'होम / गेटपरर्स')। फिर (फ़ंक्शन (डेटा, स्थिति, हेडर, कॉन्फ़िग) {deferred.resolve (data.data); }, फ़ंक्शन () {deferred.reject ();}); वापसी आस्थगित। प्रमोज;} var _getSpecificPerson = function (id) {var dataString = {id: id} $ http.post (रूट + 'होम / गेटपार्सन', डेटास्ट्रिंग)। फिर (फ़ंक्शन (डेटा, स्थिति, हेडर, कॉन्फ़िग) {deferred2.resolve (data.data);}, फ़ंक्शन () {deferred2.reject ();}); वापसी वापसी d2.promise; } वापसी {getPersons: _getPersons, getSpecificPerson: _getSpecificPerson}
$ scope.OnePerson = returnPerson.AllXml;
var _getSpecificPerson = function (id) {var dataString = {id: id}; return $ http.post (root + 'home / getperson' , डेटास्ट्रिंग);}
var returnedPerson = परिणाम। डेटा;
Comments
Post a Comment