2014-12-22 12 views
5

मेरे पास एक AngularJS ऐप है जो ui.router और प्लगइन ui.router-extras, विशेष रूप से चिपचिपा-राज्य मॉड्यूल का उपयोग कर रहा है। यह मुझे दिए गए माता-पिता राज्य से नीचे दिए गए डीओएम को कैश करने की अनुमति देता है।एक चिपचिपा राज्य में ui.router संक्रमण पर किस घटना को निकाल दिया जा सकता है?

समस्या यह है कि जब मैं किसी ऐसे राज्य में संक्रमण करता हूं जिसे मैंने 'चिपचिपा' (यानी कैश किया गया) के रूप में सेट किया है, तो उस राज्य की आग से जुड़ी कोई भी घटना नहीं है। ऑनएन्टर और रिसोलव दोनों पहले से ही चल चुके हैं और कैश किए गए हैं, ऐसा लगता है।

states.push({ name: 'root.planner',    url: 'planner', 
       abstract: true, 
       views: { 
       'planner-tab': { 
        controller: 'planner', 
        templateUrl: 'views/planner/_planner.html' 
       } 
       }, 
       sticky:true, 
       deepStateRedirect: true 
      }); 
states.push({ name: 'root.planner.home', url: '', 
       controller: 'planner.home', 
       templateUrl: 'views/planner/_planner.home.html', 
       resolve: { 
       'promiseDays': function(PlannerService){ 
        return PlannerService.getDays(); 
       } 
       }, 
       onEnter: function(StatusService){ 
       //set editable 
       StatusService.toggleEditIcon(true); 
       }, 
       onExit: function(StatusService){ 
       //set editable 
       StatusService.toggleEditIcon(false); 
       } 
      }); 

मुझे ऑनएंटर चलाने या कुछ समान घटनाओं को प्रत्येक राज्य के अनुरूप बनाया जा सकता है। आदर्श रूप से, यह ऊपर राज्य कॉन्फ़िगरेशन के अंदर होगा (इसलिए मैं प्रत्येक राज्यChangeSuccess पर राज्य-नाम जांच करने से बच सकता हूं), लेकिन मैं सुझावों के लिए खुला हूं।

उत्तर

4

issue GitHub पर उठाया से, मसीह टी (यूआई-रूटर-एक्स्ट्रा कलाकार के डेवलपर) काम आते हुए सुझाव दिया इस:

"हालांकि यह दस्तावेज नहीं है, स्टिकी राज्यों onInactivate और onReactivate कॉलबैक लागू करेगा पर स्रोत कोड देखें। निम्नलिखित लाइनों: "

onInactivate

onReactivate

कौन सा मेरे लिए पूरी तरह से काम करता है।

+1

हार्डकोडेड जिथब फ़ाइल के बजाय रेपो में खोज करने के लिए लिंक: https://github.com/christopherthielen/ui-router-extras/search?utf8=%E2%9C%93&q=on –

+0

पुनः सक्रिय करें, @ माइकल। अच्छी जगह। – Astravagrant

संबंधित मुद्दे

 संबंधित मुद्दे