AngularJS - 控制器模块上的依赖注入

时间:2015-04-14 17:26:16

标签: angularjs dependency-injection

真正的问题围绕着我与Angular一起讨论的问题。我尝试使用路由设置多页应用。我的app.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: '/'
          });

...

我试图制作我的模块 - 应用依赖于eventControllers,但我收到以下错误:

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模块。

我的controllers.js看起来像这样:

(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中声明,这可能是个问题吗?

0 个答案:

没有答案