代码:
<!DOCTYPE html>
<html>
<head>
<!-- angular -->
<script src="angular.min.js"></script>
</head>
<body ng-app="app">
<div ng-controller="MainController">
<p>{{ title }}</p>
</div>
<!-- Modules -->
<script src="app.js"></script>
<!-- Controllers -->
<script src="MainController.js"></script>
<!-- Directives -->
<script src="timelineInfo.js"></script>
</body>
</html>
我的所有文件都在同一个文件夹中,因为我在执行src =&#34; js /..."时遇到问题。
我收到错误:
angular.min.js:6 Uncaught Error: [$injector:modulerr] http://errors.angularjs.org/1.5.0-rc.1/$injector/modulerr?p0=app&p1=Error%3…0%20%20at%20c%20(http%3A%2F%2Flocalhost%3A8080%2Fangular.min.js%3A20%3A42
我并不完全明白网站的建议。我在我的索引目录中使用了angular.min.js,因为将它链接到http文件给了我一些问题。我试图做的就是运行一个简单的应用程序,这样我就可以从那里构建,但即使这样也给了我一些问题。
(我从本地机器运行)
谢谢!
--------------------------------- OTHER FILES ------------ ----------
app.js:
var app = angular.module("timelineApp", []);
MainController.js:
app.controller('MainController', ['$scope', function($scope) {
$scope.title = 'this is a test';
}]);
答案 0 :(得分:5)
问题是,在您的html中,app
中引用了ng-app
模块。在您的app.js
中,您的模块名称为timelineApp
。
您需要同步它们。
更新您的app.js
这
var app = angular.module("timelineApp", []);
到
var app = angular.module("app", []);
或者从
更新您的标记<body ng-app="app">
到
<body ng-app="timelineApp">
答案 1 :(得分:1)
你的html代码中的ng-app值应与javascript中的angular模块相同。
例如,在您的情况下,它应该是: -
<ng-app="timelineApp"> // in your html code
或以下: -
var app=angular.module('app',[]); // in your javascript
此外,如果您在此之后仍然遇到错误,那么您可以在同一here
上找到我的一个答案答案 2 :(得分:0)
您收到的错误指的是您的应用程序未正确引导。因此Angular的编译器不理解它遇到的指令;在这种情况下,那将是ng-controller
了解发生的事情非常重要。
var app = angular.module("timelineApp, []")
随后
<body ng-app="app">
ng-app
应该是timelineApp
,因为这是您将角度模块的名称设置为。
上面的代码&#34; bootstraps&#34;你的申请。一旦你的应用程序被引导,Angular的编译器就会浏览页面的标记。遇到ng-app
指令时,它将查看其值timelineApp
并知道它已注册为角度应用程序。
这也有助于它了解您在app
上注册了控制器:
app.controller('MainController', ['$scope', function($scope) {
$scope.title = 'this is a test';
}]);