我想通过负载上的控制器在angular.js中调用一个服务并返回一个承诺。然后我期望履行承诺并更新DOM。这不是发生了什么。要清楚,我没有收到错误。代码如下。AngularJS:服务数据绑定
app.controller('TutorialController', function ($scope, tutorialService) {
init();
function init() {
$scope.tutorials = tutorialService.getTutorials();
}
});
<div data-ng-repeat="tutorial in tutorials | orderBy:'title'">
<div>{{tutorial.tutorialId}}+' - '+{{tutorial.title + ' - ' + tutorial.description}}</div>
</div>
var url = "http://localhost:8080/tutorial-service/tutorials";
app.service('tutorialService', function ($http, $q) {
this.getTutorials = function() {
var list;
var deffered = $q.defer();
$http({
url:url,
method:'GET'
})
.then(function(data){
list = data.data;
deffered.resolve(list);
console.log(list[0]);
console.log(list[1]);
console.log(list[2]);
});
return deffered.promise;
};
});
里面的“那么()”中的服务功能,我记录结果,我得到什么我希望在那里,它只是从来没有更新DOM。任何和所有的帮助,将不胜感激。
我猜想,因为它变得透明,使用'then'表示承诺是从底层调用返回的。我更喜欢它。 :) – dmahapatro
这可能的确是原因,这也是我更喜欢自己包装的原因之一。另一个当然是我已经配置了restangular,总是给我完整的repsonse包括头文件。 –