我正在尝试在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";
});
问题出在哪里?谁有人解释一下?
答案 0 :(得分:1)
错误明确指出testController
函数未在app
模块中注册。您的应用程序中可能存在更多文件(您已缩小代码以在帖子中包含相关信息)。在每个文件中,您似乎每次都要重新定义模块,然后再注册下面的角度组件
var app = angular.module("app", []);
app.controller("myOtherController", function ($scope) {
//Code here
});
所以在这种情况下发生的事情是app
再次被创建,旧的注册组件被消灭了。 myOtherController
已在app
模块中注册。要解决此问题,您不应该再次声明模块&amp;再次。定义一次并在其他地方使用它。
<强> app.module.js 强>
angular.module('app', []);
<强> testController.js 强>
angular.module("app")
.controller("myOtherController", function ($scope) {
//Code here
});
答案 1 :(得分:0)
我找不到你的代码有什么问题。所以我尝试了它对我来说很好。
Plunker https://plnkr.co/edit/xSKHe6?p=preview
检查模块错误:https://docs.angularjs.org/error/ $ injector / nomod?p0 = app