Di Angular2 Anda bisa memiliki folder /data/ dan file json di sana dan Anda bisa mengaksesnya di localhost:4200/data/something.json.
Hal ini tidak lagi memungkinkan di Angular4.
Adakah ide bagaimana cara membuatnya bekerja?
Anda dapat menggunakan kode ini
@Injectable()
export class AppServices{
constructor(private http: Http) {
var obj;
this.getJSON().subscribe(data => obj=data, error => console.log(error));
}
public getJSON(): Observable<any> {
return this.http.get("./file.json")
.map((res:any) => res.json())
.catch((error:any) => console.log(error));
}
}
di sini file.json
adalah file json lokal Anda.
lihat juga di sini
lihat juga changlog dari angular-cli untuk path
Tentu saja itu mungkin. Mari kita asumsikan di sini adalah file json Anda
Dan berikut adalah kode Anda untuk memanggil json
import { Injectable } from '@angular/core';
import { Http, Headers, Response } from '@angular/http';
import { Observable } from 'rxjs';
import 'rxjs/add/operator/map'
@Injectable()
export class YourService {
constructor(private http: Http) { }
getAdvantageData(){
let apiUrl = './assets/data/api/advantage.json';
return this.http.get(apiUrl)
.map( (response: Response) => {
const data = response.json();
return data;
});
}
}