我有一个非常简单的应用,但还没有代码。我删除它以检查我得到的这个错误 - “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>
答案 0 :(得分:1)
将您的IIFE更改为此结构:
(function (){
//your code here
})()
并在脚本中包含您的控制器
答案 1 :(得分:0)
在两种情况下出现此错误:
答案 2 :(得分:0)
我想说你需要在你的索引html页面中包含js文件。 Angular正在寻找您的控制器,但没有指定包含其代码的文件