Создание модулей и субмодулей AngularJS
Я пытаюсь создать подмодули в моем угловом приложении. Я хотел бы иметь один модуль для каждого файла, который у меня есть (services.js, controllers.js,...). У меня проблема в том, что когда я создаю один для каждого, самозагрузка перестает работать. У меня есть следующее:
app.js
angular.module('myApp', [
'appSrv',
'appCtrl'
]);
controllers.js
var appCtrl = angular.module('appCtrl', []);
appCtrl.controller('TodoCtrl', ['$scope', 'listener', 'pouchWrapper', function($scope, listener, pouchWrapper) {
$scope.orderProp = 'text';
...
);
services.js
var appSrv = angular.module('appSrv', []);
appSrv.value('version', '0.1');
appSrv.factory('myPouch', [function() {
...
);
index.jade
doctype html
html(ng-app='myApp')
head
title=title
link(rel='stylesheet' href='stylesheets/style.css')
link(rel='stylesheet' href='bower_components/bootstrap/dist/css/bootstrap.css')
script(type='text/javascript' src='javascripts/angular-1.3.0b7.min.js')
script(type='text/javascript' src='javascripts/pouchdb-2.1.0.min.js')
script(type="application/javascript" src="app/app.js")
script(type="application/javascript" src="app/controllers.js")
script(type="application/javascript" src="app/services.js")
Но когда я пытаюсь выполнить простую операцию, такую как 1 + 2 = {{ 1 + 2 }}
в моем индексе я не получаю ожидаемый результат.
Я делаю что-то неправильно?
Спасибо!
2 ответа
Если я не ошибаюсь, проблема в том, что вы загружаете модуль приложения перед контроллером и сервисами, попробуйте изменить порядок в HTML и в конце добавьте app.js:
script(type="application/javascript" src="app/controllers.js")
script(type="application/javascript" src="app/services.js")
script(type="application/javascript" src="app/app.js")
Я думаю, что контроллер не нужно вводить в модуль myApp.
var TestCtrl = ['$scope', function ($scope, $) {
$scope.orderProp = 'text';
}};
В своем HTML-коде вы можете использовать ng-controller="TestCtrl", чтобы зарегистрировать его.