造成“angular度未定义”的原因是什么?

我正在关注egghead.io上的video教程,但是在创build一个工厂时试图按照他的例子(见这里的video),我总是收到“angular is not defined”引用错误,但是我已经包含了angular文字

这是我的html页面:

<!DOCTYPE html> <html> <head> <title>Prototype</title> <link rel="stylesheet" type="text/css" href="foundation.min.css"> <script type="text/javascript" src="main.js"></script> </head> <body> <div data-ng-app=""> <div data-ng-controller="FirstController"> <input type="text" data-ng-model="data.message"> <h1>{{ data.message }}</h1> </div> <div data-ng-controller="SecondController"> <input type="text" data-ng-model="data.message"> <h1>{{ data.message }}</h1> </div> </div> <script type="text/javascript" src="angular.min.js"></script> </body> </html> 

这是我的JavaScript文件“main.js”:

 //Services // step 1 create an app var myApp = angular.module('Data', []). // tep 2 create factory // Service name, function myApp.factory('Data', function(){ return { message: "I'm Data from a Service" } }); //Controllers function FirstController($scope, Data){ $scope.data = Data; } function SecondController($scope){ } 

我已经阅读了几个类似的情况发生( 这里 ),并请纠正我,如果我错了,但我认为这是与引导捆绑和我已经尝试使用angular.bootstrap(document, ['Data']);手动引导angular.bootstrap(document, ['Data']); 但没有成功,仍然得到同样的错误。

但是我想知道的是,为什么这个在网上有这么多的例子,比如eggheadvideo系列,但是我有问题,因为我相信我非常密切地关注他的video。 这是在最近的版本angular度的变化?

你必须把你的脚本标签放在引用Angular的脚本之后。 把它从head

 <script type="text/javascript" src="angular.min.js"></script> <script type="text/javascript" src="main.js"></script> 

现在你已经设置了它的方式,你的脚本在Angular加载到页面之前运行。

我有和德克一样的问题。 我忘了包括最重要的脚本:angular.js 🙂

 <script type="text/javascript" src="bower_components/angular/angular.min.js"></script> 

您还没有为angular度js放置脚本标记

你可以通过使用cdn或者为你的项目下载angularjs然后引用它来做到这一点

在这之后,你必须在你的case main.js中添加你自己的java脚本

应该这样做