AngularJS
Selepas meminta data secara tidak segerak, gunakan deferred.promise
untuk menghantar nilai, tetapi ia sangat tidak stabil 10 kali dan hanya dipaparkan 2 kali.
Saya tidak tahu apa yang salah dengan kod saya atau jika ada cara yang lebih baik, sila beritahu saya!
Fail perkhidmatan: service.js
<pra>
app.factory('Factory',['$sce','$q','$http',function($sce,$q ,$http){
var _baseUrl="//api.a.com",deferred = $q.defer(),service={};
service.list=function(_params){
query({item:"/a/index",params:_params}).success(function(data){
if(data.code==0){
deferred.resolve(data.data);
}else{
alert("Error");
}
});
return deferred.promise;
}
var query=function(rq){
var item=rq['item'],params=rq['params'];
return $http({
method:"POST",
url:_baseUrl+item,
params:params,
headers:{'Content-Type': 'application/x-www-form-urlencoded'}
}).error(function(data){
$.notify({message:_ay.system.code.api.error[data.code]},{type:"danger"});
});
};
return service;
}
</pre>
Fail pengawal: controller.js
<pra>
app.controller('ctrl.detail',['$scope','$ routeParams ','Factory',function($scope,$routeParams,Factory){
var _param=$routeParams,_id=_param.g,_token=token;
$scope.d_detail={};
$scope.detail=function(){
Factory.list({token:_token,device_id:_id}).then(function(data){
$scope.d_detail=data.row;
});
};
(init = function(){
$scope.detail();
})();
}]);
</pre>
Paparan halaman
<pra>
<p data-ng-controller="ctrl.detail">
<li data-ng-bind="d_detail.id"></li>
<li data-ng-bind="d_detail.name"></li>
</p>
</pra>
Factory.device_detail Saya tidak melihat definisi anda