2服务合并在1 [英] 2 Services merge in 1

查看:106
本文介绍了2服务合并在1的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在的.js 文件具有以下。我是新来的角。现在不是单独写这个,我希望它是一个服务说实践

如何做到这一点?

  angular.module('对myApp')。工厂('实践',['$资源',函数($资源){
    返回$resource('/api/practices/:statusController/:statusId/:searchController/:searchId/:practiceId/:pageController/:pagenum', {
        practiceId:@practiceId',
        statusId:@statusId',
        statusController:@statusController',
        sea​​rchId:@searchId',
        sea​​rchController:@searchController',
        页次:@pagenum',
        的PageController:@pageController
    });
}]);angular.module('对myApp')
  .factory('PracticesEdit',函数($资源){      返回{
          UpdatePractice:功能(){
              返回$资源('/ API / practicesUpdate /:practiceId',{
                  practiceId:@_id
              },{//默认参数
                  更新:{
                      方法:把'
                  }
              });
          },
          UpdateCreditCard:功能(){
              返回$资源('/ API / practicesCreditCardUpdate /:practiceId',{
                  practiceId:@_id
              },{//默认参数
                  updateCredit:{
                      方法:把'
                  }
              });
          }      }
  });


解决方案

  angular.module('对myApp')。工厂('PracticesService',函数($资源){
    VAR的做法= $资源(...);    返回{
          updatePractice:功能(){
             // 一样
          },
          updateCreditCard:功能(){
             // 一样
          },
          做法:做法
      }
  });

和那么您可以在控制器使用它作为

  PracticesService.practices;
PracticesService.updateCreditCard();
PracticesService.updatePractice();

I have following in my .js file. I am new to angular. Now instead of writing this separately, I want it to be in one service say Practices.

How to do this?

angular.module('myApp').factory('Practices', ['$resource', function ($resource) {
    return $resource('/api/practices/:statusController/:statusId/:searchController/:searchId/:practiceId/:pageController/:pagenum', {
        practiceId: '@practiceId',
        statusId: '@statusId',
        statusController: '@statusController',
        searchId: '@searchId',
        searchController: '@searchController',
        pagenum: '@pagenum',
        pageController: '@pageController'
    });
}]);

angular.module('myApp')
  .factory('PracticesEdit', function ($resource) {

      return {
          UpdatePractice: function () {
              return $resource('/api/practicesUpdate/:practiceId', {
                  practiceId: '@_id'
              }, { //parameters default
                  update: {
                      method: 'PUT'
                  }
              });
          },
          UpdateCreditCard: function () {
              return $resource('/api/practicesCreditCardUpdate/:practiceId', {
                  practiceId: '@_id'
              }, { //parameters default
                  updateCredit: {
                      method: 'PUT'
                  }
              });
          }

      }
  });

解决方案

angular.module('myApp').factory('PracticesService', function ($resource) {
    var practices = $resource(...);

    return {
          updatePractice: function () {
             // the same
          },
          updateCreditCard: function () {
             // the same
          },
          practices: practices
      }
  });

and then you can use it in controller as

PracticesService.practices;
PracticesService.updateCreditCard();
PracticesService.updatePractice();

这篇关于2服务合并在1的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆