我有一个非常基本的AngularJS应用程序,我正试图解决以下错误:
未捕捉错误:[$ injector:modulerr] http://errors.angularjs.org/1.4.9/ $ injector / modulerr?p0 = HelloWorld& p1 =错误... ogleapis.com%2Fajax%2Flibs%2Fangularjs%2F1.4.9%2Fangular.min.js% 3A19%3A463)
我发现的所有在线参考都会导致以这种或那种方式纠正ng-app
的不当使用,但是我发现我的代码尽可能接近vanilla并且尽可能正确。
因此,这是一个基本问题,我似乎无法找到解决方案,有谁可以请明白这个明显的错误?
的JavaScript
var myApp = angular.module("HelloWorld", []);
myApp.controller("mainController", function($scope){
console.log($scope);
});
HTML
<!DOCTYPE html>
<html lang="en-us" ng-app="HelloWorld">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="">
<meta name="author" content="">
<title>Hello World with AngularJS!</title>
</head>
<body>
<div ng-controller="mainController">
Hello world!
</div>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.9/angular.min.js"></script>
</body>
</html>
答案 0 :(得分:1)
如果您尝试在plunkr中创建此示例,请不要忘记引用您的脚本文件script.js
。
检查here。
我添加了<script src="script.js"></script>
。没有它我会得到你描述的确切错误。基本上Angular无法为ng-app="HelloWorld"
应用程序找到相应的模块声明。
所以不要忘记包含你的实际应用程序JS,包含angular.module
部分。
答案 1 :(得分:1)
由于您在导入Angular之前使用ng功能并且未导入初始化应用程序模块的文件,因此出现此错误。
如下所示:
<强> HTML:
<!DOCTYPE html>
<html lang="en-us" ng-app="HelloWorld">
<head>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.9/angular.min.js">
</script>
<script type="text/javascript" src="app.js"></script>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="">
<meta name="author" content="">
<title>Hello World with AngularJS!</title>
</head>
<body>
<div ng-controller="mainController">
Hello world!
</div>
</body>
</html>
<强> App.js:
var myApp = angular.module("HelloWorld", []);
myApp.controller("mainController", function($scope){
console.log($scope);
});
我希望我能提供帮助。