2013-02-20 20 views
5

के बाद $ रूटप्रोवाइडर कैसे प्राप्त करें मैं मार्ग जोड़ने के लिए अपने नियंत्रक में से एक में $ रूटप्रोवाइडर तक पहुंचने का प्रयास कर रहा हूं। मैं यह कैसे कर सकता हूं?कोणीय: app.config

function Cont($scope,$routeProvider) { 

}; 

यह मेरे लिए काम नहीं करता है; मुझे मिल रहा है: Error: Unknown provider: $routeProviderProvider <- $routeProvider

+3

यह पहले से जवाब दिया गया है। Http://stackoverflow.com/a/13173667/1620332 पर एक नज़र डालें। – jonc

+0

संभव डुप्लिकेट [Angular.js में मार्ग परिभाषा को कैसे रोकें?] (Http://stackoverflow.com/questions/13153121/how-to-defer-routes-definition-in-angular-js) –

+0

उपयोगी उत्तर है वास्तव में [Angular.js में मार्ग परिभाषा को कैसे रोकें] (http://stackoverflow.com/questions/13153121/how-to-defer-routes-definition-in-angular-js), लेकिन इस प्रश्न के बारे में अच्छी बात यह है कि आप त्रुटि संदेश के लिए वेब खोज के साथ यहां आ सकते हैं। – metamatt

उत्तर

6

$ रूटप्रोवाइडर और अन्य प्रदाताओं को केवल मॉड्यूल कॉन्फ़िगरेशन ब्लॉक से इंजेक्शन दिया जा सकता है। यह है कि आप एक नियंत्रक के अंदर $ रूटप्रोवाइडर के साथ क्या करना चाहते हैं?

+0

यह समझाना अच्छा होगा * क्यों * प्रदाताओं को केवल कॉन्फ़िगर ब्लॉक में इंजेक्शन दिया जा सकता है (मुझे लगता है कि यह [मॉड्यूल डेवलपर्स गाइड] के मॉड्यूल लोडिंग और निर्भरता अनुभाग में समझाया गया है (http://docs.angularjs.org/guide/मॉड्यूल))। – metamatt

1

नियंत्रक में, $ मार्ग सुलभ है लेकिन $ मार्गप्रदाता नहीं है। हो सकता है कि तुम सिर्फ समारोह बाहर कॉपी कर सकते हैं उदाहरण के लिए, 'जब' और 'pathRegExp'

jsfiddle देखें: http://jsfiddle.net/5FUQa/1/

function addRoute(path, route) { 
    //slightly modified 'when' function in angular-route.js 
    } 
    addRoute('/dynamic', { 
    templateUrl: 'dynamic.tpl.html' 
    }); 

यह भी देखें: How to defer routes definition in Angular.js?