0005-数据获取

  在APP中,我们经常需要从服务端拿些数据到前端展示,比如一个person list,而请求的方式一般通过Angular提供的$http对象,或者$resource对象,知道AJAX的同学应该会很熟悉,关于这两个对象的使用方法,在这里不过多赘述,

需要的童鞋请去查Angular Js的官方文档。而对于一个APP而言,请求的同类数据,可能不止在一个页面出现,所以我们将其封装为一个Service,以便在多个页面使用。

  关于Service是什么东东,这里只简单提一下,可以将其理解为通过这个Service获得一个对象,这个对象提供了一些内部自定义的方法,或者说函数,想必大家都知道为什么要定义函数?就是不想拷贝自己的代码。。。

  这里举一个栗子,说明Service的常写方式

'use strict';

angular.module('MyApp')
    .factory('PersonService', function ($resource) {
        return $resource('api/person/:id', {}, {
            'query': { method: 'GET', isArray: true},
            'get': {
                method: 'GET',
                transformResponse: function (data) {
                    data = angular.fromJson(data);
                    return data;
                }
            },
            'update': { method:'PUT' },
            'modify':{ method:'POST'}
        });
    });

  这里我们定义了一个Person的Service,当我们需要在一个页面展示Person list的时候,只需要PersonService.query({},successCallBack,failedCallBack),就可以获得Person list了,如果我们想修改一个Person对象

同理只需要PersonService.update({id:1,name:'老王'},successCallBack,failedCallBack),通过第一个参数,我们把需要修改的东东以JSON对象的形式传给后台,然后交由后台处理。后面只要遇到需要操作Person的时候,

只需要注入PersonService,通过PersonService操作就好了。

原文地址:https://www.cnblogs.com/whiteHome/p/5435020.html