一尘不染

Angular.js:服务多个$ resource URL /数据源的服务?

angularjs

我有一个Angular服务/提供程序,将json数据提供给我的控制器,效果很好:

    angular.module('myApp.services', ['ngResource']).
      factory("statesProvider", function($resource){
      return $resource('../data/states.json', {}, {
        query: {method: 'GET', params: {}, isArray: false}
      });
    });

但是 我还需要将json数据从另一个文件提供给同一控制器counties.json

在哪里可以找到如何编写将两个文件都提供给控制器的服务?


阅读 168

收藏
2020-07-04

共1个答案

一尘不染

您可以更新服务以返回资源的哈希,而不是单个哈希:

angular.module('myApp.services', ['ngResource']).
  factory("geoProvider", function($resource) {
    return {
      states: $resource('../data/states.json', {}, {
        query: { method: 'GET', params: {}, isArray: false }
      }),
      countries: $resource('../data/countries.json', {}, {
        query: { method: 'GET', params: {}, isArray: false }
      })
    };
  });

您将可以使用它,并.query()在函数名末尾添加geoProvider.states.query()和,geoProvider.countries.query()并且myApp.services必须将其注入到控制器中,然后再将geoProvider服务注入到控制器本身中。

2020-07-04