Однако после написания нескольких примеров игры с контроллерами загрузка не будет загружена. Я получаю сообщение об ошибке:Я пытаюсь понять контроллер AngularJS. Синтаксис
firstController is not a function
Через некоторое Googling я обнаружил, что Угловая 1.3.x больше не поддерживает глобальные контроллеры. Все примеры, которые я видел в новом способе создания контроллеров, похоже, создают их в моем файле app.js. Я смущен, теперь это означает, что я должен создать все мои контроллеры здесь, а не иметь выделенный файл для каждого контроллера. Я пробовал это, чтобы создать контроллер, и все еще не повезло:
UPDATE: Я изменил свой контроллер, чтобы ответить на ответ jedanput, но изменил для него $ scope.
app.controller('firstController', [function(){
this.name = "Tim";
}]);
Также я нахожу очень раздражающим, что все, что подавляющее большинство примеров там все еще упоминают, как это было сделано в Angular 1.2. Любая помощь будет принята с благодарностью, поскольку у меня возникли проблемы с пониманием этой проблемы.
EDIT: Вот мой файл index.html. Надеюсь, это поможет вам, ребята, понять, что происходит не так.
<!DOCTYPE html>
<html lang="en" xmlns:ng="http://angularjs.org" id="ng-app" ng-app="myApp">
<head >
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>ControllerAs</title>
<meta name="description" content="">
</head>
<body>
<div class="content" ng-view=""></div>
<!-- jQuery -->
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<!-- AngularJS -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.2.6/angular.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.2.6/angular-route.js"></script>
<script type="text/javascript" src="../js/app.js"></script>
<!--Directives-->
<script type="text/javascript" src="../js/directives/it-works.js"> </script>
<!--Controllers-->
<script type="text/javascript" src="../js/controllers/firstController.js"></script>
<script type="text/javascript" src="../js/controllers/secondController.js"></script>
</body>
</html>
До сих пор я избегал контроллеры, как все, что я делал можно было бы сделать с директивами и услуг, но это время я понял больше о контроллерах. Я думаю, что это может быть что-то фундаментальное, чего я не хватает. Снова любая помощь приветствуется.
UPDATE: по-прежнему возникает ошибка. Это мой файл app.js. Может быть, это может пролить свет на проблему.
var app = angular.module('myApp',[
'ngRoute'
]);
app.config(function($routeProvider) {
$routeProvider.when('/', {
templateUrl: "../partials/test-skeleton.html"
})
});
'Я пробовал это, чтобы создать контроллер, и до сих пор не повезло: что означает« не повезло »? – Blackhole
Прежде всего, то, что вы описываете, не имеет ничего общего с синтаксисом controllerAs. Во-вторых, вы можете создать файл на контроллер. Пожалуйста, покажите больше своего кода, предпочтительно на plnkr. – restassured
Вы не предоставили нам достаточно информации, чтобы помочь вам рассказать, почему вы получаете 'firstController, это не функция'. Кроме того, вы все еще используете '$ scope', вместо' this.name' - 'controllerAs' удаляет эту зависимость. – Tom