2013-04-29 9 views
15

मैं AngularJS की ui रूटर प्लगइन का उपयोग कर समस्याएं हो रही हैं:

Unknown provider: $stateProvider 

मैं:

angular.module('myApp', []). 
config(['$routeProvider', '$stateProvider', function($routeProvider, $stateProvider) { 
    $stateProvider 
     .state('mandats', { 
      url: '/domiciliations/mandats', 
      templateUrl: 'domiciliations/views/mandats.html', 
      controller: 'mandatsCtrl' 
     }); 
}]) 

मैं तो स्टार्टअप पर यह त्रुटि प्राप्त इस क्रम में जावास्क्रिप्ट को शामिल किया गया है:

<script src="/Scripts/libs/angular/angular.js"></script> 
<script src="/Scripts/libs/angular/angular-resource.js"></script> 
<script src="/Scripts/libs/angular/angular-ui-states.js"></script> 

समस्या क्या हो सकती है?

[संपादित करें]

मैं MyApp की निर्भरता के रूप में 'ui.compat' जोड़कर त्रुटि संदेश से छुटकारा मिल गया है। मैंने देखा कि यूई-राउटर के नमूना कोड में लेकिन कहीं भी दस्तावेज में नहीं। इसके बारे में क्या है ?

फिर भी, यह अभी भी काम नहीं करता है। मैंने एप्लिकेशन इंडेक्स फ़ाइल में एक div को ui-view जोड़ा है। लेकिन पृष्ठ खाली रहता है।

+0

निम्नलिखित आप कृपया सूची कर सकते हैं कोणीय के किस संस्करण चला रहे हैं? –

उत्तर

14

कोड का निम्नलिखित भाग नौकरी करना चाहिए। कम से कम मेरे मामले में, तो मुझे बताएं कि यह काम करता है या नहीं।

angular.module('myApp', ['ui.compat']). 
config(['$routeProvider', '$stateProvider', function($routeProvider, $stateProvider) { 
    $stateProvider 
     .state('mandats', { 
      url: '/domiciliations/mandats', 
      templateUrl: 'domiciliations/views/mandats.html', 
      controller: 'mandatsCtrl' 
     }); 
}]) 

अब पृष्ठ के साथ आपकी समस्या के बारे में खाली होने के बारे में। निश्चित रूप से ब्राउज़र में आपके पास मौजूद यूआरएल आपके राज्य में परिभाषित किसी भी मिलान से मेल नहीं खाता है। अपने ब्राउज़र में '#/domiciliations/mandats' आज़माएं और देखें कि दृश्य उचित रूप से प्रस्तुत किया गया है या नहीं। ऐसा नहीं है कि आप पूर्ण यूआरएल http: // [HOST_NAME] /home.html#/domiciliations/mandats के साथ कुछ समान होना चाहिए।

+0

जैसा कि मैंने अपने पिछले जवाब में कहा था, यही वह है जो मैंने किया। हालांकि मैं आपका जवाब उत्तर के रूप में चिह्नित करूंगा;) धन्यवाद। – Sam

+1

मैंने कोशिश की और कोणीय 'ui-compat' को खत्म नहीं कर सका; नीचे त्रुटि त्रुटि: [$ इंजेक्टर: मॉड्यूलर] मॉड्यूल myApp को तत्काल करने में विफल: त्रुटि: [$ इंजेक्टर: मॉड्यूलर] मॉड्यूल ui.compat को तत्काल करने में विफल: त्रुटि: [$ इंजेक्टर: नामोड] मॉड्यूल ' ui.compat 'उपलब्ध नहीं है! आप या तो मॉड्यूल नाम गलत वर्तनी या इसे लोड करने के लिए भूल गए हैं। यदि मॉड्यूल पंजीकृत करना सुनिश्चित करता है कि आप निर्भरता को दूसरे तर्क के रूप में निर्दिष्ट करते हैं। –

12

आपको केवल यूई-राउटर मॉड्यूल को निर्भरता के रूप में शामिल करने की आवश्यकता है।

angular 
    .module('myApp', ["ui.router"]) 
    .config(['$routeProvider', '$stateProvider', function($routeProvider, $stateProvider) { 
     ... 
    }]); 
+0

आप अपनी सरणी को '.config' में कहां बंद कर रहे हैं? –

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