2016-05-06 2 views
0

Я начал свое первое угловое приложение и столкнулся с проблемой, когда мой «домашний» модуль не работает из-за проблемы с зависимостью. Я не вижу никакой зависимости, которая мне понадобится. Я использую $ stateProvider и $ urlProvider, но я вставляю это в конфигурацию для домашнего модуля, поэтому я не уверен, где проблема будет лгать?Ошибка инжектора модуля в угловом

Config.$inject = ["$stateProvider", "$urlRouterProvider"]; 
angular.module('home', []).config(Config) 

function Config($stateProvider, $urlRouterProvider){ 
    $stateProvider 
    .state('home', { 
     url: '/login', 
     templateUrl: './views/login.html' 
    }) 
} 

angular.module('home').controller('loginCtrl', function($scope){ 
    $scope.helloWorld = function(){ 
     console.log("This works!") 
    } 
}) 

утешаемая ошибка:

[$injector:modulerr] http://errors.angularjs.org/1.5.5/$injector/modulerr?p0=home&p1=Error%3A%20… 

ответ

3

С «$ stateProvider» и «$ urlRouterProvider» провайдеры не являются частью модуля ядра AngularJS, необходимо внедрить модули, которые имеют это обеспечивает в ваш определение домашнего модуля. Насколько я знаю, $ stateProvider от модуля интерфейса маршрутизатора, так

angular.module('home', ['ui.router']). 
... 

Имейте в виду, что вы также должны включить этот Javascript в вашем HTML-файле. Он находится в файле angular-ui-router

<script src="js/angular-ui-router.min.js"></script> 
+1

Awesome, я впрыскивается ui.router в мой модуль и включал в себя сценарий, и теперь он работает. Поэтому Угловые сервисы и поставщики не являются глобальными фрагментами кода, которые вы можете использовать в любом месте, ваш модуль должен зависеть от модуля, который имеет эти службы или поставщиков, если они не являются частью основного модуля AngularJS. – JBT

+0

У вас все получилось! :) – k10der

Смежные вопросы