Javascript AngularJS-未调用控制器

Javascript AngularJS-未调用控制器,javascript,angularjs,Javascript,Angularjs,我只是用一些简单的代码开始一个项目,但我正在努力正确地连接它。下面是我的module.js代码: (function() { 'use strict'; angular .module('app') .config(['$stateProvider', function appRouter($stateProvider) { $stateProvider .state('app', {

我只是用一些简单的代码开始一个项目,但我正在努力正确地连接它。下面是我的module.js代码:

(function() {

    'use strict';

    angular
        .module('app')
        .config(['$stateProvider', function appRouter($stateProvider) {

            $stateProvider

                .state('app', {

                    abstract: true,
                    url: '',
                    templateUrl: 'modules/app/index.html',
                    controller: 'appController'

                })

                .state('app.home', {

                    url: '/home',
                    templateUrl: 'modules/home/index.html',
                    controller: 'homeController'

                })

        }]);

})();
因此,应该运行appController函数(下面)中的代码,但我在控制台中没有得到任何东西。我做错了什么

app.controller.js:

(function() {

    'use strict';

    angular
        .module('app')
        .controller('appController', appController);

        appController.$inject = [];

        function appController() {
            console.log('appController');    
        }

})();
我没有收到任何错误,因此我知道我的模块已正确实例化。

您是否访问了“主”状态?因为如果你不这样做,你就得不到任何东西,因为“应用”状态(以及它的控制器)不会被实例化,除非子状态(在本例中是“home”)被访问(因为“应用”是抽象的)


您能展示一下您的app/index.html和home/index.html吗?

我想您可能遇到的问题是,您没有创建我称之为“根”
angular.module
的定义

在模块代码中输入:

(function() {

    'use strict';

    angular
        .module('app')

// omitted for brevity
然后在控制器中,您有:

(function() {

    'use strict';

    angular
        .module('app')

// omitted for brevity
我记不太清楚了,但我认为它把第二个
.module
调用看作是一个不同的或新的模块

如果将模块的
.module
调用更改为将
[]
作为第二个参数,则它应该可以工作:

(function() {

    'use strict';

    angular
        .module('app', [])

// omitted for brevity

controller:'modules/app/app.controller.js'
应该是
controller:'appController'
,如果你在应用程序中链接了controller.js。AFAIKThanks,刚刚改变了这一点,但仍然是相同的结果。我将更新帖子。
url:“
不会将该状态设为默认状态,并且它是抽象的,因此除非您位于子路由之一,
/home
,否则它不会加载。您似乎根本没有处理默认路线
/
。如果您有问题,应将其添加为注释