У меня есть приложение Angular 6, которое выбирает город (который я называю по-испански corregimiento) в зависимости от района и выбираю район в зависимости от провинции.
этот файл JSON .
<!-- ***************SELECT Province *************** -->
<mat-form-field>
<mat-select placeholder="Provincia" [(ngModel)]="selectedProvince" name='shit' [(value)]="sltdProv">
<mat-option *ngFor="let item of datas" [value]="item.distritos" >
{{ item.name }}
</mat-option>
</mat-select>
</mat-form-field>
<!-- ***************SELECT District *************** -->
<mat-form-field *ngIf='selectedProvince'>
<mat-select placeholder="Distrito" [(ngModel)]="selectedDistr" name='District'>
<mat-option *ngFor="let distrito of sltdProv" [value]="distrito.corregimientos">
{{ distrito.name }}
</mat-option>
</mat-select>
</mat-form-field>
<!-- ***************SELECT City *************** -->
<mat-form-field *ngIf='selectedDistr && selectedProvince'>
<mat-select placeholder="Corregimiento" [(ngModel)]="selectedCorr" name='Corr'>
<mat-option *ngFor="let sub of selectedDistr" [value]="sub.name">
{{ sub.name }}
</mat-option>
</mat-select>
</mat-form-field>
В файле компонентов у меня есть:
selectedProvince: string;
selectedDistr: string;
selectedDistrict: string;
datas: any;
ngOnInit() {
const Semester = this.getFile.getJSON();
this.http
.request("../../assets/jsonFolder/panamaData.json")
.subscribe((res: Response) => {
this.datas = res.json().provincia;
Выбирает первое (и единственное) значение JSON в файле. Это массив из 13 JSON-объектов, каждый из которых является провинцией.
Я могу сделать это отлично в DOM. Но если я хочу сохранить только название провинции в качестве переменной, это даст мне массив объектов JSON. И то же самое для районов. только то, что хорошо - это город , потому что последний является строкой.