3 votes

ionic 2 http service get data local json file

J'ai une petite application ionique 2 qui utilise un fichier json local stocké dans le dossier des actifs. Ce fichier fournit des données biologiques sur les personnes historiques et n'a donc pas besoin d'être modifié de quelque façon que ce soit. Je peux accéder au fichier dans le fichier home.ts comme suit

constructor(public navCtrl: NavController, public http: Http) {

this.http.get('../assets/people.json').subscribe(data => {
this.people = data.json();

});

Notez que cela fonctionne et que je peux parcourir les données en boucle via la boucle *ngFor.

Mais je pense que ça devrait aller dans un service. Mais je n'arrive pas à trouver comment mettre cela dans un service et ensuite accéder aux données dans mes pages d'accueil. J'ai fait des recherches mais je n'ai pas trouvé de solution.

0voto

che-azeh Points 23

J'ai pu le faire grâce à ce tutoriel de TutorialsPoint . Le tutoriel montre comment créer un service, et j'ai combiné les instructions avec les éléments suivants Stockage ionique pour définir et obtenir des données à partir d'un fichier stocké localement.

export class SomeService {
...
    getSomething(): Observable<Something[]> {
      return this._http.get(this._someUrl)
      .map((response: Response) => <Something[]> response.json())
      .do(data => this.storage.set("some_key", data));
   }
...
}

-1voto

gajjar nirali Points 1

Service.js

return this.http
       .request('assets/data/radio-stations.json')
       .map(response => response.json());

contoller.js

this.service.getdata()
    .subscribe(response => {
           this.data = response.Radios; 
      }, err => {
         console.log(err);
      });

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X