Angularjs: un Service qui dessert plusieurs $url de ressource / sources de données?
J'ai Angulaire de service/fournisseur qui sert des données json à mon contrôleur qui fonctionne très bien:
angular.module('myApp.services', ['ngResource']).
factory("statesProvider", function($resource){
return $resource('../data/states.json', {}, {
query: {method: 'GET', params: {}, isArray: false}
});
});
Mais j'ai aussi besoin de servir les données json pour le même contrôleur à partir d'un autre fichier counties.json
.
Où puis-je trouver comment j'écris un service qui sert à la fois les fichiers de mon contrôleur?
Vous devez vous connecter pour publier un commentaire.
Vous pouvez mettre à jour le service de retour d'un hachage de ressources, pas un seul:
Vous serez capable de l'utiliser en ajoutant
.query()
à la fin de votre nom de fonction c'est à diregeoProvider.states.query()
etgeoProvider.countries.query()
etmyApp.services
doit être injecté dans votre contrôleur, puis à l'injectergeoProvider
service dans le contrôleur lui-même.myApp.services
module dans le module qui contient le contrôleur, puis à l'injectergeoProvider
service dans le contrôleur lui-même. Après vous serez en mesure d'utilisergeoProvider.states.query()
etgeoProvider.countries.query()
dans le contrôleurJe suis en supposant que vous voulez exécuter du code lorsque les deux fichiers ont chargé. Les promesses de travailler vraiment bien pour cela. Je ne pense pas que les ressources de retour de promesses, mais vous pouvez utiliser le $service http pour des appels ajax.
Ici, je définir un service à chacun des deux fichiers de données, et un troisième service qui retourne une promesse qui est remplie lorsque les deux fichiers sont fait de chargement.
Puis dans votre contrôleur: