我有一个非常愚蠢的问题,但我不知道如何解决它。我有一个加载了AngularJS的index.html
文件。我正在使用Plunker来测试代码:
<!DOCTYPE html>
<html ng-app="">
<head>
<script data-require="angular.js@1.4.8" data-semver="1.4.8" src="https://code.angularjs.org/1.4.8/angular.js"></script>
<link rel="stylesheet" href="style.css" />
<script src="script.js"></script>
</head>
<body ng-controller="BodyController">
<h1>{{ message }}</h1>
</body>
</html>
此script.js
文件包含以下信息:
var BodyController = function($scope) {
$scope.message = "Hi Angular!"
}
在检查员中说:
Error: [ng:areq] Argument 'BodyController' is not a function, got undefined
脚本已加载。我在JS文件中定义了控制器并附加了ng-controller
指令,所以我不知道这可能会失败。
答案 0 :(得分:4)
这是AngularJS的basic。
首先需要创建module:
HTML
然后,在那里注册您的控制器:
ng-app
并且,在您的<html ng-app="foo"></html>
标记中,将foo
更改为:
bar
答案 1 :(得分:3)
您需要将控制器添加到Angular模块。
angular.module('app', [])
.controller('BodyController', function($scope) {
$scope.message = "Hi Angular!"
})
有关如何设置控制器的更多信息 https://docs.angularjs.org/guide/controller
答案 2 :(得分:3)
在HTML中,添加
<html ng-app="myapp">
,脚本是
angular.module('myapp', []).controller('BodyController',BodyController)
答案 3 :(得分:1)
有几个错误
ng-app
未设置
angular.module('app', [])
.controller('BodyController', function($scope) {
$scope.message = "Hi Angular!"
});
&#13;
<html ng-app="app">
<head>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
</head>
<body ng-controller="BodyController">
<h1>{{ message }}</h1>
</body>
</html>
&#13;