2016-10-18 3 views
0

В настоящее время, что у меня есть модуль app.services, что я впрыснуть в мое приложение, как так:Выпуска Инъекционной службы в App

angular.module('app.services', []); // services/app.services.js 
angular.module('App', ['app.services']); // app.js 

Это отлично работает хорошо, пока я не попытался придать мою службу непосредственно в моем приложение к сэкономить место (вводится множество других зависимостей). Таким образом, я изменил на:

angular.module('App') // services/myService.js 
.factory('MyService', [function() { // do stuff 

Это вызывает ошибку: $ injector: nomod Module Unavailable. Я не мог понять, почему это вызвало проблему, и исследования, которые я сделал по этому вопросу, не отвечали на мой конкретный вопрос.

ответ

0

Так что моя проблема заключалась в том, что «приложение» было недоступно, когда я пытался ввести мое обслуживание. Проблема заключалась в том, как я загружал свои скрипты на страницу. Изначально у меня было установить, как:

<script src="services/myService.js"></script> 
<script src="app.js"></script> 
// changed to 
<script src="app.js"></script> // module 'App' loads 
<script src="services/myService.js"></script> // 'MyService' is injected into 'App' 

я это узнал, трудный путь, прежде чем при работе с контроллерами и убедившись, что инъекционные главный контроллер первого затем мои контроллеры суб в одном модуле (которые находятся в разных файлах/каталогов). Основная причина, по которой я это делал, заключается в том, что я не хотел иметь сценарий, который содержит только определение модуля (что из моих исследований является правильным способом сделать это).

Надежды, которые помогают кому-то.