AngularJS-控制器模块上的依赖项注入
有真正的问题围绕着我和Angular之间的问题。我正在尝试使用路由设置多页应用程序。我的app.js看起来有点像这样:AngularJS-控制器模块上的依赖项注入,angularjs,dependency-injection,Angularjs,Dependency Injection,有真正的问题围绕着我和Angular之间的问题。我正在尝试使用路由设置多页应用程序。我的app.js看起来有点像这样: var app = angular.module('app', ['angularLocalStorage', 'ngRoute', 'ngResource', 'authControllers', 'authServices', 'eventControllers', 'eventServices']); app.config(['$routeProvider', '$ht
var app = angular.module('app', ['angularLocalStorage', 'ngRoute', 'ngResource', 'authControllers', 'authServices', 'eventControllers', 'eventServices']);
app.config(['$routeProvider', '$httpProvider',
function($routeProvider, $httpProvider) {
$routeProvider.
when('/', {
templateUrl: 'partials/events.html',
controller: 'EventListController'
}).
otherwise({
redirectTo: '/'
});
...
(function () {
var authControllers = angular.module('authControllers', []);
var eventControllers = angular.module('eventControllers', []);
eventControllers.config(function($stateProvider) {
$stateProvider.state('events', { // state for showing all events
url: '/events',
templateUrl: 'partials/events/list.html',
controller: 'EventListController'
}).state('viewMovie', { //state for showing single event
url: '/events/:id/view',
templateUrl: 'partials/events/single.html',
controller: 'EventViewController'
}).state('newMovie', { //state for adding a new event
url: '/events/new',
templateUrl: 'partials/events/create.html',
controller: 'EventCreateController'
}).state('editMovie', { //state for updating a event
url: '/events/:id/edit',
templateUrl: 'partials/events/edit.html',
controller: 'EventEditController'
});
}).run(function($state) {
$state.go('events'); //make a transition to events state when app starts
});
我正试图使我的模块应用程序依赖于EventController,但出现以下错误:
Error: [$injector:modulerr] http://errors.angularjs.org/1.3.15/$injector/modulerr?p0=app&p1=%5B%24injector%3Amodulerr%5D%20http%3A%2F%2Ferrors.angularjs.org%2F1.3.15%2F%24injector%2Fmodulerr%3Fp0%3DeventControllers%26p1
这让我相信,无论出于何种原因,它都无法加载eventController模块
My controllers.js看起来有点像这样:
var app = angular.module('app', ['angularLocalStorage', 'ngRoute', 'ngResource', 'authControllers', 'authServices', 'eventControllers', 'eventServices']);
app.config(['$routeProvider', '$httpProvider',
function($routeProvider, $httpProvider) {
$routeProvider.
when('/', {
templateUrl: 'partials/events.html',
controller: 'EventListController'
}).
otherwise({
redirectTo: '/'
});
...
(function () {
var authControllers = angular.module('authControllers', []);
var eventControllers = angular.module('eventControllers', []);
eventControllers.config(function($stateProvider) {
$stateProvider.state('events', { // state for showing all events
url: '/events',
templateUrl: 'partials/events/list.html',
controller: 'EventListController'
}).state('viewMovie', { //state for showing single event
url: '/events/:id/view',
templateUrl: 'partials/events/single.html',
controller: 'EventViewController'
}).state('newMovie', { //state for adding a new event
url: '/events/new',
templateUrl: 'partials/events/create.html',
controller: 'EventCreateController'
}).state('editMovie', { //state for updating a event
url: '/events/:id/edit',
templateUrl: 'partials/events/edit.html',
controller: 'EventEditController'
});
}).run(function($state) {
$state.go('events'); //make a transition to events state when app starts
});
我相信答案很简单,我缺少一些基本的东西,但我真的很感激任何指点
eventControllers模块仅在controllers.js中声明,这可能是一个问题吗?这是您的整个
controllers.js
文件吗?看起来你还没有结束生命:}()代码>。不是整个控制器,不是,只是它的开始。我想相关的代码会在那里。嗯,我的另一个想法是仔细检查index.html
,确保您引用了所有必要的.js
文件。这个简单的问题已经让我犯了很多次错误。请检查您加载脚本的顺序。确保首先加载angular,然后加载控制器。为什么在同一个应用程序中使用ngRoute和ui路由器?您对ui路由器的依赖性在哪里?