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