ionic中將service中異步返回的數據賦值給controller的$scope


1、service中異步獲取數據實例

angular.module('starter.services', [])
.factory('Chats', function($http,$q) {//定義Chats的service
  return {
    all: function() {//all方法異步獲取數據
      var deferred=$q.defer(); //定義deferred
      var promise=deferred.promise;//定義promise
      $http.get('http://localhost:3000/lists').success(function(data,status,headers,config){
        //執行deferred.resolve方法,將返回的data傳入作為參數
        deferred.resolve(data);
      })
      //返回promise
      return promise;
    }
  };
});

2、controller中執行Chats的all方法,並將返回的數據賦值給$scope的items,這里的result就是service的all方法中異步返回的數據

angular.module('starter.controllers', [])
.controller('ChatsCtrl', function($scope, Chats) {
    Chats.all().then(function(result){
      $scope.items = result;
    },function(){
      console.log('goodsService get error');
    });
})

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM