2015-02-24 6 views
0

Я пытаюсь загрузить несколько сервисов и контроллеров в приложение AngularJS, но я столкнулся с сообщением «Неизвестный поставщик», которое я не понимаю.«Неизвестный поставщик» в AngularJS

Unknown provider: $scope, accountManagementServiceProvider <- $scope, 
accountManagementService <- RegistrationSigninControllerS/<@https: 
//ajax.googleapis.com/ajax/libs/angularjs/1.3.13/an… id 

Мой app.js подобен этому

var dataApp = angular.module('niwadataApp', ['ngRoute','niwaDataControllers']); 

вместе с некоторыми конфигурации материала и маршрутов и т.д. и т.п. Затем в отдельном файле я определить некоторые параметры и попытка загрузить услуги/контроллер

dataApp.value('isEmbedded', false); //And the other 'auth' settings 

dataApp.service('authenticationService', ['$http', '$q', '$rootScope', '$location', 'authTimeout', 'authTimeoutUrl', 'authUrl',AuthenticationServiceImpl]); 
dataApp.factory('authenticatingProxyService', ['authenticationService', 'isEmbedded', '$http', '$q', '$window', '$rootScope', AuthenticatingProxyServiceImpl]); 
dataApp.service('accountManagementService', ['$q', 'authenticatingProxyService', AccountManagementServiceImpl]); 
dataApp.controller('RegistrationSigninController', ['$scope, accountManagementService', RegistrationControllerImpl]); 

Все классы определены в их собственных файлах, загружаемых до app.js, например

var AccountManagementServiceImpl = function($q, auth) { 

В соответствии с сообщением об ошибке он ищет accountManagementServiceProvider, но у меня есть класс с именем accountManagementServiceImpl и что это то, что я указал в dataApp.service( вызова. Я пропустил что-то в документации, в которой имена классов должны заканчиваться на «Поставщик»? О каком провайдере это не известно? Насколько я могу видеть каждый контроллер, сервис и фабрика определяют его требования и должны быть способны быть созданы.

+0

Нет, угловой за seens при создании завода или услугу создаст вам поставщика. Это всего лишь красная селедка с точки зрения поставщиков, что она говорит, так это то, что она может найти сервис, поэтому он не был загружен. Если вы можете показывать файлы, имена файлов, порядок, в которые он загружается, проверьте источники chrome/firefox, чтобы убедиться, что вы видите его. –

ответ

2

Вам не хватает некоторых цитат.

Изменить это:

dataApp.controller('RegistrationSigninController', ['$scope, accountManagementService', RegistrationControllerImpl]); 

к этому:

dataApp.controller('RegistrationSigninController', ['$scope', 'accountManagementService', RegistrationControllerImpl]); 
+0

D'oh! Спасибо вам большое, я смотрел на это большую часть дня! – Craig

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