Ранее мой код отлично работал в версии AngularJs 1.1.5, но после обновления до 1.2.x следующие коды не работают. Что-то изменилось в 1.2.x?Зачем обещать на заводе не работает с AngularJs 1.2.0?
Демоверсия: http://plnkr.co/edit/w2O8Ci Невозможно отобразить «мир», но если вы измените угловое значение на 1.1.5, все будет работать нормально.
Вот код:
<!DOCTYPE html>
<html ng-app="myApp">
<head>
<!--<script src="http://code.angularjs.org/1.1.5/angular.min.js"></script>-->
<script src="http://code.angularjs.org/1.2.9/angular.min.js"></script>
<script>
var app = angular.module('myApp', []);
app.factory('NameFactory', function($http, $q) {
return {
getName: function() {
var deferred = $q.defer();
deferred.resolve({
name: "World"
});
return deferred.promise;
}
}
});
app.controller("NameCtrl", function($scope, NameFactory) {
$scope.name = NameFactory.getName();
});
</script>
</head>
<body ng-controller="NameCtrl">
<h1>Hello, {{name.name}}</h1>
</body>
</html>
Возможный дубликат [Ангулярные обещания, не обязательные к шаблону в 1.2] (http://stackoverflow.com/questions/19472017/angularjs-promise-not-binding-to-template-in-1-2) – Frans