我有一个Angular 6应用程序,该应用程序根据地区选择城市(我用西班牙语称为corregimiento),并根据省份选择地区 this JSON file。
<!-- ***************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对象数组。与各区相同。 唯一的好是城市,因为最后一个是字符串。
答案 0 :(得分:0)
我在您的JSON文件中发现了一些问题。它具有重复的“名称”变量
id:04 -> id:04-1 -> id:04-1-01
项目。您还可以添加示例链接链接,这将有助于调试问题。