我是AngularJS的新手,并使用plnkr.co来学习如何使用角度。我在注册控制器时遇到了一些困难,它存储在模块初始化的单独.js中。谁能告诉我为什么以下不起作用?
index.html文件
<!DOCTYPE html>
<html ng-app="plunker">
<head>
<meta charset="utf-8" />
<title>AngularJS Plunker</title>
<script>
document.write('<base href="' + document.location + '" />');
</script>
<link rel="stylesheet" href="style.css" />
<script data-require="angular.js@1.4.x" src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.4.6/angular.min.js" data-semver="1.4.6"></script>
<script src="app.js"></script>
<script scr="mainCtrl.js"></script>
</head>
<body ng-controller="MainCtrl">
<p>Hello {{name}}!</p>
</body>
</html>
app.js文件
angular.module('plunker', []);
mainCtrl.js文件
angular.module('plunker')
.controller('MainCtrl', ['$scope', function($scope) {
$scope.name = 'GitHub';
}]);
对我来说,这会产生一个Argument'MainCtrl'不是函数,未定义。
答案 0 :(得分:5)
替换
<script scr="mainCtrl.js"></script>
与
<script src="mainCtrl.js"></script>
由于拼写错误(scr
而非src
),未加载包含MainCtrl
的源文件,因此MainCtrl
未定义。