以前,我的代碼在AngularJs 1.1.5版本中工作正常,但在升級到1.2.x後,以下代碼不起作用。 1.2.x中有什麼改變嗎?爲什麼自從AngularJs 1.2.0以後,工廠無法工作?
這裏是演示:http://plnkr.co/edit/w2O8Ci 它不能顯示「世界」,但如果你改變angularjs回到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>
[Angularjs承諾不綁定到1.2中的模板]的可能重複(http://stackoverflow.com/questions/19472017/angularjs-promise-not-binding-to-template-in-1-2) – Frans