angular - Angular 7:选择选项值被解析为“[index]:[value]”
问题描述
我正在使用 Angular 7。当我尝试将 a 的值绑定select
到变量时,该值总是被解析为“0:25”、“1:50”、“2:75”之类的东西。
下面的示例代码用于为分页器选择页面大小。哪里pageSizeOptions = [25, 50, 75, 100]
。预期的行为是pageSize
,绑定到[(ngModel)]
,应该包含一个number
类型而不是一个字符串。Using[value]
将返回值的字符串化版本并ngValue
返回"[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>
解决方案
问题是您使用的是 ngValue 而不是 value attribute 。
<option *ngFor="let size of pageSizeOptions; let i = index" [value]="size">
{{ size }}
</option>
ngvalue 和 value 属性的区别在于 value 总是字符串,在 ngValue 中你可以传递对象。
有关更多信息,请参阅此答案Angular 5 中 value 和 ngValue 之间的差异
推荐阅读
- flutter - 没有名为“nullOk”的命名参数。上下文!=空?Localizations.localeOf(context, nullOk: true) : null,
- java - 如何使用 SwissEPH 获取日月经度?
- spring-boot - 删除十进制 Java 变量
- javascript - 在 JavaScript 中使用 Promise 和 Async/Await
- python - 在 Python 中,从函数内部更改函数外部对象的操作原理是什么?
- html - 如何在我的 ASP.NET Core MVC 项目中使用 Selected2 搜索栏?
- javascript - 如何根据屏幕大小有条件地运行 JavaScipt?
- python - 组织和管理 Django 电子邮件模板的最佳实践
- python - 分解多个 pandas 列并取消嵌套一列作为列名
- r - 通过从一个大列表中的两个子列表中选择数据来创建一个数组