我看到有关于此错误的几个问题,但我没有找到我的案例的答案。
我是角色新手并开始构建小应用程序。
<!doctype html>
<html lang="en" ng-app>
<head>
<meta charset="UTF-8">
<title>Angular Demo</title>
<script src="lib/angular/angular.min.js"></script>
</head>
<body>
<div ng-controller =" MyController">
<h1>{{player.name}}</h1>
</div>
<script>
function MyController($scope) {
$scope.player = {
'name': 'Eran Zahavi',
'number': '7',
'position': 'link'
}
}
</script>
</body>
</html>
当我尝试运行它时,我收到了上面的错误 - &gt; 错误:[ng:areq] http://errors.angularjs.org/1.4.3/ng/areq?p0=MyController&p1=not%20a%20function%2C%20got%20undefined
答案 0 :(得分:2)
如果您要引用1.3以上版本的角度,则应以不同的方式声明控制器,
var newApp = angular.module('newApp', []);
newApp.controller('MyController', function($scope){
$scope.player = {
'name': 'Eran Zahavi',
'number': '7',
'position': 'link'
}
});
以下是Plunker
答案 1 :(得分:1)
从角度1.4.x开始,您无法全局定义控制器。
您必须在模块内声明控制器。
喜欢这个
<!doctype html>
<html lang="en" ng-app="app">
<head>
<meta charset="UTF-8">
<title>Angular Demo</title>
<script src="lib/angular/angular.min.js"></script>
</head>
<body>
<div ng-controller=" MyController">
<h1>{{player.name}}</h1>
</div>
<script>
var app = angular.module("app", []);
app.controller("MyController", function($scope) {
$scope.player = {
'name': 'Eran Zahavi',
'number': '7',
'position': 'link'
}
});
</script>
</body>
</html>
的 JSFIDDLE 强>
答案 2 :(得分:0)
你可以试试this。
<body ng-app="">
<div ng-controller ="MyController">
<h1>{{player.name}}</h1>
</div>
<script>
function MyController($scope) {
$scope.player = {
'name': 'Eran Zahavi',
'number': '7',
'position': 'link'
}
}
</script>
</body>