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


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.