AngularJS,控制器不是一个函数,未定义

时间:2016-09-13 03:20:09

标签: javascript angularjs

以角度形式制作一个非常简单的应用程序,每次我尝试这样做时都会遇到这个问题而且永远不知道如何解决它。

App.js是这样的:

''

只是一些基本路由,控制器中没有任何内容。

现在,那个' HomeController'设置如下:

angular.module('Euclid',
        ['ui.bootstrap',
        'ngRoute'])
.controller('mainController', function($scope){
})
.config(['$routeProvider', function($routeProvider){
    $routeProvider.
    when('/', {
        templateUrl: 'views/home.html',
        controller: 'HomeController',
        controllerAs: 'homeCtrl'
    });
}]);

我的index.html设置如下:

var HomeController = function($scope){
    var self = this;
    // code here
};
angular.module('Euclid').controller('HomeController', HomeController);

它所有荣耀中的错误是"参数' HomeController'不是一个功能,未定义"。我不能为我的生活找出未定义的地方。

1 个答案:

答案 0 :(得分:0)

我创建了plunker以使事情变得更清晰。
https://plnkr.co/edit/dL1DPa50mdZtmaJCwcIO?p=preview
据我所知,除了遗漏一些脚本文件之外没有任何错误。

    <html lang="en" ng-app="Euclid">
        <body ng-controller="mainController" ng-cloak>
            <script src="node_modules/angular/angular.js"></script>
            <script src="../angular-route.js"></script>           //missing
            <script src="/ui-bootstrap-tpls-2.1.2.js"></script>  //missing
            <script src="app.js"></script>
            <div class="container">
                <div ng-view></div>
            </div>
        </body>
    </html>


  菲尔说,很明显的原因   错误是角度路由器和角度引导程序的缺失。