$ मार्गपार्म्स संकल्प समारोह में काम नहीं करता है


138

मैं डेटा लोड करने के लिए इस तकनीक का उपयोग कर रहा हूं । इसलिए मैंने निम्नलिखित संकल्प समारोह बनाया है:

NoteController.resolve = {
    note: function($routeParams, Note) {
         return Note.get($routeParams.key);
    }
}

समस्याओं कि है $routeParams.keyहै undefinedके पल में resolveसमारोह निष्पादन। क्या यह सही है / बग? मेरे द्वारा यह कैसे किया जा सकता है?

जवाबों:


273

आपको $route.current.params.keyइसके बजाय उपयोग करने की आवश्यकता है । $routeParamsअद्यतन किया जाता है केवल के बाद एक मार्ग बदला गया है। तो आपके कोड को उन पंक्तियों के साथ देखना चाहिए:

NoteController.resolve = {
    note: function($route, Note) {
         return Note.get($route.current.params.key);
    }
}

7
धन्यवाद! मुझे $ मार्गप्रेम की आवश्यकता क्यों है?
— Fedor.belov

2
मुझे लगता है कि जब एक मार्ग पहले से ही मेल खाता था और बदला गया था, तो डॉक्स .angularjs.org/api/ng.$routeParams अच्छा एपीआई हैं। लेकिन यह सच है कि यह थोड़ा भ्रमित करने वाला है ...
— pkozlowski.opensource

1
आप $routeParamsकंट्रोलर के अंदर उपयोग कर सकते हैं
— मेकोनारियो

13
उपयोग करने वाले ui-routerऔर यहां आने वाले लोगों के लिए : जाने $stateParamsका रास्ता है
— पेट्रोटेक

यदि आप Ionicफ्रेमवर्क की तरह कुछ का उपयोग कर रहे हैं , तो आप $stateParams.keyअपने संकल्प फ़ंक्शन के अंदर उपयोग ui-routerकरेंगे क्योंकि यह @beret के रूप में उपयोग करता है । मुझे महसूस करने में थोड़ा समय लगा ..
— ObjectiveTruth
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.