控制器不是AngularJS 1.5.7的函数错误

时间:2016-07-15 14:55:42

标签: angularjs controller

我有一个非常简单的应用,但还没有代码。我删除它以检查我得到的这个错误 - “angular.js:13708错误:[ng:areq]参数'ClientFileConfigController'不是函数,未定义”

我在我的angularjs应用程序(1.5.3)中遵循了类似的模式,它工作正常。此代码使用angularjs(1.5.7),唯一的区别是我使用bower单独选择我的包,而不是使用nuget。

我无法解码此错误: - (

app.js

(function () {

    var app = angular.module('ConfigApp', ['ngRoute', 'ngAnimate', 'TreeWidget']);

    app.config(['$routeProvider', function ($routeProvider) {
        var viewBase = '/app/ConfigApp/views/';

        $routeProvider
            .when('/clients', {
                controller: 'ClientFileConfigController',
                templateUrl: viewBase + 'clients.html',
                controllerAs: 'vm'
            })
            //.when('/clients/:clientId/:fileId', {
            //    controller: 'clientfileEditController',
            //    templateUrl: viewBase + 'edit.html',
            //    controllerAs: 'vm'
            //})
            .otherwise({ redirectTo: '/clients' });

    }]);

}());

clientfileConfigController.js

(function(){
    var injectParams = ['$scope'];

    var ClientFileConfigController = function ($scope) {

    }

    ClientFileConfigController.$inject = injectParams;
    angular.module('ConfigApp').controller('ClientFileConfigController', ClientFileConfigController)
}());

的index.html

<html ng-app="ConfigApp">
<head>
    <title>Client File Angular Tree Widget</title>
    <meta charset="utf-8" />
</head>
<body ng-cloak>
    <nav class="navbar navbar-inverse navbar-fixed-top">
        <div class="container">
            <div id="navbar" class="navbar-collapse collapse">
                <ul class="nav navbar-nav">
                    <li class="active"><a href="#">Home</a></li>
                    <li><a href="#about">About</a></li>
                    <li><a href="#/clients">Clients</a></li>
                </ul>
            </div>
        </div>
    </nav>
    .top-buffer { margin-top:20px; }
    <div class="slide-animation-container">
        <div ng-view id="ng-view" class="slide-animation"></div>
    </div>
</body>
</html>

clients.html

<html>
<head>
    <title></title>
    <meta charset="utf-8" />
</head>
<body>
    <h1>Hello World</h1>

    <!--<tree nodes='treeNodes'>-->
</body>
</html>

Error Image

3 个答案:

答案 0 :(得分:1)

将您的IIFE更改为此结构:

(function (){
   //your code here
})()

并在脚本中包含您的控制器

答案 1 :(得分:0)

在两种情况下出现此错误:

  1. 控制器未包含在脚本中。 (未定义)
  2. 无法解决注射器依赖性。

答案 2 :(得分:0)

我想说你需要在你的索引html页面中包含js文件。 Angular正在寻找您的控制器,但没有指定包含其代码的文件