В чем причина "angular не определена"
Я следую видеоурокам по egghead.io, но, пытаясь следовать его примеру, когда он создал factory (см. video здесь) Я продолжаю получать "angular не определен" Ссылка Ошибка, но я включил angular script
Это моя страница 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){
}
Я прочитал несколько сообщений, где подобное происходит (здесь), и, пожалуйста, поправьте меня, если я ошибаюсь, но я думаю, что это связано с Boot привязкой и я попробовал ручную загрузку с помощью angular.bootstrap(document, ['Data']);
, но без успеха, все равно получаю такую же ошибку.
Но то, что я хочу знать, это то, почему это работает для стольких примеров онлайн, как серия видеороликов, но у меня есть проблемы, поскольку я считаю, что я внимательно следил за его видео. это изменение в angular в последних версиях?
Ответы
Ответ 1
Тег script должен быть указан после ссылки Angular. Переместите его из head
:
<script type="text/javascript" src="angular.min.js"></script>
<script type="text/javascript" src="main.js"></script>
Теперь, как вы его настроили, ваш script работает до Angular, который загружается на страницу.
Ответ 2
У меня была та же проблема, что и deke. Я забыл включить наиболее важные script: angular.js:)
<script type="text/javascript" src="bower_components/angular/angular.min.js"></script>
Ответ 3
Вы не разместили теги script для angular js
вы можете сделать это, используя cdn или загружая угловые объекты для своего проекта, а затем ссылаясь на него
после этого вам нужно добавить свой собственный java script в ваш случай main.js
который должен делать