コントローラーに JSON データを提供する Angular サービス/プロバイダーがあり、これはうまく機能します。
angular.module('myApp.services', ['ngResource']).
factory("statesProvider", function($resource){
return $resource('../data/states.json', {}, {
query: {method: 'GET', params: {}, isArray: false}
});
});
しかしまた、別のファイルから同じコントローラーに JSON データを提供する必要もありますcounties.json
。
両方のファイルをコントローラーに提供するサービスを作成する方法はどこで確認できますか?
ベストアンサー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
コントローラー自体にもサービスを注入する必要があります。