2013-12-15 18 views
9

मेरे ui रूटर config से नियंत्रक पर विधि बुला इस तरह है:कोणीय यूआई रूटर: onEnter

$stateProvider 
    .state("list",{url:"/list",templateUrl:"list.html",controller:"ctrl as vm"}) 
    .state("list.select", 
     url:'/select', 
     templateUrl:'select.html', 
     onEnter:function() { ... } 
    }); 

list.select राज्य सूची राज्य के रूप में ही नियंत्रक का उपयोग करता है। मैं ऑनर फ़ंक्शन से नियंत्रक पर एक विधि कैसे कॉल कर सकता हूं? ध्यान दें कि मैं "ctrl as vm" वाक्यविन्यास का उपयोग कर रहा हूं! क्या मैं यहां $ राज्यपाराम भी एक्सेस कर सकता हूं?

उत्तर

2

आप onEnter, साथ ही साथ किसी भी अन्य सेवा में पहुंच सकते हैं। हालांकि, मौजूदा या अभिभावक (या किसी अन्य) नियंत्रक उदाहरण को इंजेक्ट करने का कोई तरीका नहीं है।

तो, जब तुम इस तरह से नियंत्रक पर एक विधि को लागू नहीं किया जा सकता है, तो आप onEnter या resolve preprocess कुछ करने के लिए उपयोग कर सकते हैं और शायद जाँच करें और है कि विधि कॉल करने के list.select के लिए एक ध्वज का उपयोग करें।

यह इस कार्यक्षमता को समन्वयित करने के लिए सेवा का उपयोग करने के लिए और अधिक समझदारी कर सकता है, लेकिन मुझे आपके दृष्टिकोण के उद्देश्यों को नहीं पता है इसलिए मुझे और जानना होगा।

+0

मैंने राज्य कॉन्फ़िगरेशन पर समाधान का उपयोग कर समस्या हल की। नियंत्रक पर विधि कॉल करने की कोशिश नहीं कर रहा है, लेकिन राज्य कॉन्फ़िगरेशन के साथ नियंत्रक के लिए आवश्यक डेटा को हल करने के लिए पैरामीटर – rekna

+7

@rekna हल करें क्या आप अपना उदाहरण प्रदान कर सकते हैं? मैं एक ही मामले में चल रहा हूँ। धन्यवाद – jmcollin92

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