从基本应用程序获取一个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'; }]);