我有这个棱角分明的应用程序,我只运行我网站的一个网页。
我有一个主应用程序,它使用我制作的另一个模块作为依赖项。

我遇到的问题是控制器内部没有任何东西在运行。为什么我的控制器不运行?

但是,我的路线确实引入了视图,因此我知道该模块正在工作。
我摆脱了数据服务,以确保不是。
函数输出前的console.log,但函数未运行。
我也没有控制台错误。

app.js:

(function(){

    'use strict';

    var dependencies = [
        'ghpg',
        'ngRoute'

    ];

    angular.module('blogger', dependencies)
    .config(Config);

    Config.$inject = ['$locationProvider']

    function Config($locationProvider){

        $locationProvider.hashPrefix('!');
    }

    if (window.location.hash === '#_=_'){
        window.location.hash = '#!';
    }

    //bootstrap angular

    angular.element(document).ready(function(){
        angular.bootstrap(document, ['ghpg']);
    });
})();


模块:

(function(){

    'use strict';

    var dependencies = [ 'ngRoute' ];

    angular.module('ghpg', dependencies)
    .run(init)
    init.$inject = ['$rootScope','$location' ];

    function init($rootScope, $location){
        var vm  = this;
    }
})();


视图:

<div class="container-fluid" data-ngController="blogController as vm">
    <h2> Articles </h2>
    <div class="post-listing" data-ng-repeat=" post in vm.data">
        <p> {{ post  }} </p>
    </div>

</div>


控制器:
    (功能(){
            “使用严格”;

        angular
        .module('ghpg')
        .controller('blogController', blogController);

        blogController.$inject = ['$scope'];
        ////
        console.log("In controller file");
        function blogController($scope){
                console.log('running controller');
                var vm = this;

                vm.data = blogContent.getContent();
                console.log(vm.data);
        }
})();


我想知道是否与引导应用程序有关? (但是,即使没有显式的ng-app,它仍然可以正常工作,因此我认为我的引导程序确实可以工作)

我的下一个最佳猜测是我的html中的控制器未正确设置,但是每次我弄乱它时,要么得到相同的结果,要么在控制台中出现错误,但它仍然不起作用。

最佳答案

blogController.$inject = ['$scope','blogController']

您正在尝试将控制器注入控制器。更改为
blogController.$inject = ['$scope']function blogController($scope)

你是说写吗blogController.$inject = ['$scope','blogContent']

我看到您在blogContent上调用了一个方法,但没有看到它注入到任何地方。

编辑

data-ngController应该是data-ng-controller

09-26 10:44