Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
AngularJS-控制器模块上的依赖项注入_Angularjs_Dependency Injection - Fatal编程技术网

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

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

有真正的问题围绕着我和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: '/'
          });

...
(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路由器的依赖性在哪里?