Javascript Angular4-获取;“未定义”;而不是下拉选择值
首先,我应该说,我通过了所有的回答,张贴了类似的问题,但他们没有为我工作!这真的很奇怪,因为代码看起来还行,但它总是给我未定义的变更事件 我试过这个:Javascript Angular4-获取;“未定义”;而不是下拉选择值,javascript,angular,Javascript,Angular,首先,我应该说,我通过了所有的回答,张贴了类似的问题,但他们没有为我工作!这真的很奇怪,因为代码看起来还行,但它总是给我未定义的变更事件 我试过这个: <select name="countries" id="countries" [(ngModel)]="selectedCountry" (change)="onCountryChange()"> <option *ngFor="let x of countrie
<select name="countries" id="countries" [(ngModel)]="selectedCountry" (change)="onCountryChange()">
<option *ngFor="let x of countries" [ngValue]="x">{{x.CouName}}</option>
</select>
<select name="countries" id="countries" (change)="onCountryChange($event.target.value)">
<option *ngFor="let x of countries" [ngValue]="x">{{x.CouName}}</option>
</select>
我也试过这个:
<select name="countries" id="countries" [(ngModel)]="selectedCountry" (change)="onCountryChange()">
<option *ngFor="let x of countries" [ngValue]="x">{{x.CouName}}</option>
</select>
<select name="countries" id="countries" (change)="onCountryChange($event.target.value)">
<option *ngFor="let x of countries" [ngValue]="x">{{x.CouName}}</option>
</select>
使用
而不是
(change)="onCountryChange()"
(更改)
在更新[(ngModel)]=“…”绑定之前激发。使用
而不是
(change)="onCountryChange()"
(更改)
是在更新[(ngModel)]=“…”
绑定之前触发的。这是已知的角度绑定问题
<select name="countries" id="countries" [(ngModel)]="selectedCountry" (ngModelChange)="onCountryChange(selectedObj)">
<option *ngFor="let x of countries" [ngValue]="x">{{x.CouName}}</option>
</select>
您应该从(更改)
更改为(ngModelChange)
<select name="countries" id="countries" [(ngModel)]="selectedCountry" (ngModelChange)="onCountryChange(selectedObj)">
<option *ngFor="let x of countries" [ngValue]="x">{{x.CouName}}</option>
</select>
{{x.coname}}
这是一个已知的角度问题
<select name="countries" id="countries" [(ngModel)]="selectedCountry" (ngModelChange)="onCountryChange(selectedObj)">
<option *ngFor="let x of countries" [ngValue]="x">{{x.CouName}}</option>
</select>
<select name="countries" id="countries" [(ngModel)]="selectedCountry" (ngModelChange)="onCountryChange(selectedObj)">
<option *ngFor="let x of countries" [ngValue]="x">{{x.CouName}}</option>
</select>
您应该从(更改)
更改为(ngModelChange)
<select name="countries" id="countries" [(ngModel)]="selectedCountry" (ngModelChange)="onCountryChange(selectedObj)">
<option *ngFor="let x of countries" [ngValue]="x">{{x.CouName}}</option>
</select>
{{x.coname}}
我刚刚按照您的建议使用了ngModelChange,但仍然没有定义!看不到代码就很难说。理想情况下,您可以使用或Plunker提供复制。我添加了$event
参数。它真的很奇怪!我复制了stackblitz,它工作得很好,代码相同!但是在我的项目中,我没有定义!甚至$event参数也未定义!有趣。一项观察selectedCountry
应该是对象(国家)而不是数组。否则我不知道。我更改了selectedCountry:any[];至所选国家/地区:编号;将ngValue改为x.CouId,这是一个数字,现在我得到了这个值,谢谢你的回答。我只是按照你的建议使用了ngModelChange,但仍然没有定义!看不到代码就很难说。理想情况下,您可以使用或Plunker提供复制。我添加了$event
参数。它真的很奇怪!我复制了stackblitz,它工作得很好,代码相同!但是在我的项目中,我没有定义!甚至$event参数也未定义!有趣。一项观察selectedCountry
应该是对象(国家)而不是数组。否则我不知道。我更改了selectedCountry:any[];至所选国家/地区:编号;把ngValue改为x.CouId,这是一个数字,现在我得到了这个值,谢谢你的回答。
<select name="countries" id="countries" [(ngModel)]="selectedCountry" (ngModelChange)="onCountryChange(selectedObj)">
<option *ngFor="let x of countries" [ngValue]="x">{{x.CouName}}</option>
</select>