Angular 角度7:选择选项值解析为;[索引]:[值]”;
我用的是Angular 7。当我尝试将Angular 角度7:选择选项值解析为;[索引]:[值]”;,angular,select,angular7,angular-ngmodel,Angular,Select,Angular7,Angular Ngmodel,我用的是Angular 7。当我尝试将select的值绑定到一个变量时,该值总是被解析为类似“0:25”、“1:50”、“2:75”的内容 下面的示例代码用于为分页器选择页面大小。其中pageSizeOptions=[25,50,75,100]。预期的行为是,绑定到[(ngModel)]的pageSize应该包含编号类型,而不是字符串。使用[value]将返回值的字符串化版本,ndngValue返回“[index]:[value]”格式 <select class="f
select
的值绑定到一个变量时,该值总是被解析为类似“0:25”、“1:50”、“2:75”的内容
下面的示例代码用于为分页器选择页面大小。其中pageSizeOptions=[25,50,75,100]
。预期的行为是,绑定到[(ngModel)]
的pageSize
应该包含编号
类型,而不是字符串。使用[value]
将返回值的字符串化版本,ndngValue
返回“[index]:[value]”
格式
<select
class="form-control"
(change)="onSelectPageSize($event.target.value)"
[ngModel]="pageSize"
>
<option *ngFor="let size of pageSizeOptions; let i = index" [ngValue]="size">
{{ size }}
</option>
</select>
{{size}}
问题在于您使用的是ngValue而不是value属性
<option *ngFor="let size of pageSizeOptions; let i = index" [value]="size">
{{ size }}
</option>
{{size}}
ngvalue和value属性之间的区别在于,值始终是字符串,在ngvalue中可以传递对象
参考此答案了解更多信息你能为这做一个解释吗?我会找时间在Stackblitz上复制它,目前只是通过手动解析为int并使用
[value]
而不是[ngValue]
@ColdCerberus检查它@developer033,谢谢。奇怪的是,当我在console.log
pageSize中添加一个onchange事件时,它实际上是一个数字,与我在本地看到的不同。