angular.module вызывается из отдельных файлов, не находит Controller

Я пытаюсь модулировать мой код и переместить контроллер в отдельный файл, который использует тот же модуль. Но, он не загружается, я убедился, что порядок загрузки правильный.

// app.js
angular.module("app", []);

// LoginCtrl.js
angular.module("app", []).controller("LoginCtrl", function() 
{
  //doSomeThing
});

Если я сделаю var app = angular.module в первом файле и использую ту же переменную в других файлах, это работает.

// app.js
var app = angular.module("app", []);

// LoginCtrl.js
app.controller("LoginCtrl", function() 
{
  //doSomeThing
});

Если я перемещаю весь код в один файл и использую angular.module отдельно для каждого компонента, это работает.

// app.js
angular.module("app", []);

angular.module("app", []).controller("LoginCtrl", function() 
{
  //doSomeThing
});

Я что-то пропустил?

3 ответа

Решение

Чтобы создать модуль в AngularJS:
angular.module('app', []);

Чтобы получить модуль в AngularJS:
angular.module('app');

Вы используете ту же сигнатуру в своем коде для создания и получения модуля, вы не должны добавлять массив инъекций как второй аргумент функции модуля при получении модуля в другом файле.

Во-первых, в контроллере может быть только один модуль. Это пример var app = angular.module('myApp', []) .controller('Controllername', function () {};

После модуляции вашего кода напишите это в свой файл LoginCtrl.js:

var app = angular.module("app");
app.controller("LoginCtrl", function() {
...
Другие вопросы по тегам