我正在尝试制作我的第一个控制器并收到此错误:
错误:[ng:areq]参数'TestController'不是函数,未定义
我简化了我的代码以找到错误但没有运气。它看起来像我在脚本中创建控制器和books数组并在div中逐字引用控制器。我错过了什么?
<!doctype html>
<html data-ng-app>
<head>
<meta charset="utf-8"/>
</head>
<body>
<div data-ng-controller="TestController">
<ul>
<li data-ng-repeat="b in books">{{ b.title + ' by ' + b.author }}</li>
</ul>
</div>
<script src="angular.js"></script>
<script>
function TestController() {
this.books = [{title: 'Angela', author: 'Donald Duck'}, {title: 'Angles', author: 'Dirty Harry'}];
}
</script>
</body>
</html>
答案 0 :(得分:1)
由于全局函数不再是angular.js中的控制器,所以已经很长时间了。您需要在模块中将该功能注册为控制器:
<html ng-app="myApp">
并在JS代码中:
angular.module("myApp", []).controller('TestController', function($scope) {
$scope.books = ...;
});
你的角度知识已经过时了。重新阅读文档。
答案 1 :(得分:0)
或更简化的方式
angular.module("myApp", []).controller('TestController', TestController);
function TestController($scope) {
$scope.books= [{title: 'Angela', author: 'Donald Duck'}, {title: 'Angles', author: 'Dirty Harry'}];
}