seo咖啡会吧 关注:10贴子:33
  • 0回复贴,共1

REST和定制服务

只看楼主收藏回复

  在这一步中,我们会改进我们APP获取数据的方式。
  请重置工作目录:
  git checkout -f step-11
  对我们应用所做的最后一个改进就是定义一个代表RESTful客户端的定制服务。有了这个客户端我们可以用一种更简单的方式来发送XHR请求,而不用去关心更底层的$http服务(API、HTTP方法和URL)。
  步骤9和步骤10之间最重要的不同在下面列出。你可以在GitHub里看到完整的差别。
  模板
  定制的服务被定义在app/js/services,所以我们需要在布局模板中引入这个文件。另外,我们也要加载angularjs-resource.js这个文件,它包含了ngResource模块以及其中的$resource服务,我们一会就会用到它们:
  app/index.html
  ...
  ...
  服务
  app/js/services.js
  angular.module('phonecatServices', ['ngResource']).
  factory('Phone', function($resource){
  return $resource('phones/:phoneId.json', {}, {
  query: {method:'GET', params:{phoneId:'phones'}, isArray:true}
  });
  });
  我们使用模块API通过一个工厂方法注册了一个定制服务。我们传入服务的名字Phone和工厂函数。工厂函数和控制器构造函数差不多,它们都通过函数参数声明依赖服务。Phone服务声明了它依赖于$resource服务。
  $resource服务使得用短短的几行代码就可以创建一个RESTful客户端。我们的应用使用这个客户端来代替底层的$http服务。


IP属地:河北1楼2015-12-04 17:00回复