Сначала используйте файл JSON с помощью HttpClient и подпишите его, а затем поместите содержимое в массив.
AppModule
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { HttpClientModule } from '@angular/common/http';
import { FormsModule } from '@angular/forms';
import { AppComponent } from './app.component';
@NgModule({
imports: [BrowserModule, FormsModule, HttpClientModule],
declarations: [AppComponent],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule { }
AppComponent
import {Component} from '@angular/core';
import { HttpClient, HttpHeaders } from '@angular/common/http';
import {Observable} from 'rxjs/Rx';
@Component({
selector: 'my-app'
})
export class AppComponent implements ngOnInit {
public YourModel : any;
ngOnInit() : void
{
this.getJSONFromLocal().subscribe(
data => {
//Bind the data emitted by JSON file to model class here
this.YourModel = data;
},
error => console.error(`Failed because: ${error}`));
}
constructor(private httpClient: HttpClient) {}
public getJSONFromLocal(): Observable<any> {
return this.httpClient.get("./someLocalFile.json")
.catch((error:any) => console.log(error));
}
}
Ваш HTML
<li *ngFor="let model of YourModel;">model.someProperty</li>