我正在尝试在AngularJS中打印Hello World,我创建了名为testController
的JavaScript文件,但不幸的是它显示了此错误
这是HTML:
<!DOCTYPE html>
<html lang="en">
<head>
<title>AngularJS</title>
<script type="text/javascript" src="../../app/controllers/testController.js"></script>
</head>
<body ng-app="app">
<div ng-controller="testController">
<h2>{{message}}</h2>
</div>
</body>
</html>
和这个
testController
代码var app = angular.module("app", []);
app.controller("testController", function ($scope) {
$scope.message = "Hello, AngularJS";
});
问题出在哪里?谁能解释?
最佳答案
错误明确指出testController
功能没有在app
模块中注册。您的应用程序中可能包含更多文件(您已缩减代码以保留相关信息)。似乎在每次注册每个文件之前都要重新定义模块,如下所示
var app = angular.module("app", []);
app.controller("myOtherController", function ($scope) {
//Code here
});
因此,在这种情况下,再次创建了
app
,并且清除了旧的注册组件。 myOtherController
已在app
模块中注册。要解决此问题,您不应一次又一次声明模块。一次定义它,并在其他地方使用它。app.module.js
angular.module('app', []);
testController.js
angular.module("app")
.controller("myOtherController", function ($scope) {
//Code here
});