从基本应用程序获取一个angularjs错误

码:

<!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 =“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 

我不完全明白网站的build议。 我在我的索引目录中使用angular.min.js,因为链接到http文件给我的问题。 所有我想要做的是运行一个简单的应用程序,所以我可以从那里build立,但即使这是给我的问题。

(我从本地机器上运行)

谢谢!!

– – – – – – – – – – – – – – – – -其他文件 – – – – – – – – ——-

app.js:

 var app = angular.module("timelineApp", []); 

MainController.js:

 app.controller('MainController', ['$scope', function($scope) { $scope.title = 'this is a test'; }]); 

问题是,在你的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"> 

你的html代码中的ng-app值应该与你的javascript中的angular模块相同。

例如,在你的情况下,应该是:

 <ng-app="timelineApp"> // in your html code 

或以下:

 var app=angular.module('app',[]); // in your javascript 

另外,如果你之后仍然面临错误,那么你可以在这里的一个我的答案

您所得到的错误是指您的应用程序未正确引导的事实。 因此,Angular的编译器不理解它遇到的指令; 在这种情况下,这将是ng-controller

了解发生的事情很重要。

var app = angular.module("timelineApp, []")

随后

<body ng-app="app">

ng-app应该是timelineApp因为这是你设置angular度模块的名字。

上面的代码“引导”你的应用程序。 一旦你的应用程序被引导,Angular的编译器将通过页面的标记。 当它遇到ng-app指令时,它会查看它的值timelineApp并知道它被注册为angular度应用程序。

这也有助于了解你在app上注册了一个控制器:

 app.controller('MainController', ['$scope', function($scope) { $scope.title = 'this is a test'; }]);