Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 角度7:选择选项值解析为;[索引]:[值]”;_Angular_Select_Angular7_Angular Ngmodel - Fatal编程技术网

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

我用的是Angular 7。当我尝试将
select
的值绑定到一个变量时,该值总是被解析为类似“0:25”、“1:50”、“2:75”的内容

下面的示例代码用于为分页器选择页面大小。其中
pageSizeOptions=[25,50,75,100]
。预期的行为是,绑定到
[(ngModel)]
pageSize
应该包含
编号
类型,而不是字符串。使用
[value]
将返回值的字符串化版本,nd
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>

{{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事件时,它实际上是一个数字,与我在本地看到的不同。