Angular 1.3 не может найти функцию контроллера
Я новичок в angular и попытался перейти с 1.3 новой версией.
Вот мой код
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.0-rc.0/angular.min.js"></script>
</head>
<body>
<div data-ng-controller="SimpleController" >
<ul>
<li data-ng-repeat="customer in customers">{{customer.name}} - {{customer.city}}</li>
</ul>
</div>
<script>
function SimpleController($scope){
alert('done1');
$scope.customers=[{name:'1name',city:'1city'},{name:'2name',city:'2city'}];
alert('done');
}
</script>
Консоль дает эту ошибку.
Error: [ng:areq] http://errors.angularjs.org/1.3.0-rc.0/ng/areq?p0=SimpleController&p1=not%20a%20function%2C%20got%20undefined
Но когда я меняю источник angular на
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.0/angular.min.js"></script>
Тогда он работает. Я использую хром.
любой из них сообщит мне, где может быть проблема.
Ответы
Ответ 1
Функции глобального контроллера больше не поддерживаются по умолчанию в 1.3. См. журнал изменений...
Контроллер $больше не будет искать контроллеры в окне. Старый изначально предполагалось, что поведение окна просмотра для контроллеров для использования в примерах, демонстрациях и игрушечных приложениях. Мы обнаружили, что функции глобального контроллера поощряют неэффективные методы, поэтому мы решили для отключения этого поведения по умолчанию.
Он может быть снова включен с этой конфигурацией...
angular.module('myModule').config(['$controllerProvider', function($controllerProvider) {
// this option might be handy for migrating old apps, but please don't use it
// in new ones!
$controllerProvider.allowGlobals();
}]);