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() {
...