-1
問題是當我使用$ http或$資源檢索數據時,它成功地檢索並綁定到視圖,但是當我使用承諾數據來到客戶端但它不綁定到風景。 這裏是我的代碼: //視圖使用承諾在http請求中的角度
<div class="pull-left span6" >
<h3>{{Name}}</h3>
<ul>
<li ng-repeat="type in typeList">
<span>{{type.Title}}</span>
</li>
</ul>
//控制器
var proxyControllers = angular.module('httpProxyControllers', []);
proxyControllers.controller('TypeListController',
function TypeListController($scope, typeListData) {
$scope.Name = 'Type List Addresses';
$scope.typeList = typeListData.getTypeList();
$scope.typeList.then(function(data){
console.log('data received');
console.log(data);
},function(status){
console.log(status);
});
});
//服務
var proxyServices = angular.module('httpProxyServices', ['ngResource']);
proxyServices.factory('typeListData' , function($http, $q){
return{
getTypeList : function(){
var deferred = $q.defer();
$http({method : 'GET' , url: '/data/getTypeList'})
.success(function(data, status, headers, config){
deferred.resolve(data);
})
.error(function(data, status, headers, config){
deferred.reject(status);
});
return deferred.promise;
}
}
});
在然後控制器的塊時我登錄數據到控制檯,它顯示數據成功返回,但沒有任何事情發生我的觀點和我的觀點實際上沒有任何顯示
在此先感謝,
您好,感謝您的快速回復,您的答案是正確的。然而,如果我有義務在接收到的數據塊中設置typeList,那麼如果我發送回調方法而不使用promise,有什麼區別?據我記憶,我在視頻中看到他實際上沒有使用方法,他提到這個承諾會被綁定到視圖中,並且在演示中它工作得很好。再次感謝。 – ali
在教程中你看到他可能使用$ resourse而不是$ http。 –
@ali,對不起有時候離線。我同意@MohammadSepahvand可能你看到使用'$ resourse'而不是'$ http',因爲我從來沒有使用'$ http'這樣的 – Satpal