首页 > 解决方案 > 将 [(ngModel)] 绑定到未定义的值

问题描述

我有以下 [(ngModel)] 导致错误,因为我没有从后端获取任何值,

   <input type="number" 
          [(ngModel)]="list.test[0]">

在上面的示例中,我没有从后端获取测试数组的任何值,导致错误提示无法读取未定义的属性 0。

我试过[(ngModel)]="list?.test[0]"了,但这也没有帮助。

标签: angulartypescriptbindingngmodel

解决方案


ngModel 的 angular 2-way-binding 不支持安全导航操作符?

仍然有一个开放的功能请求: https ://github.com/angular/angular/issues/7697

您可以使用此解决方法: [(ngModel)]="list.test && list.test[0]"

因此,使用 3 个输入,您的代码应如下所示:

<form>
<input type="number" name="item1" [(ngModel)]="list.test && list.test[0]">
<input type="number" name="item2" [(ngModel)]="list.test && list.test[1]">
<input type="number" name="item3" [(ngModel)]="list.test && list.test[2]">
</form>

给每个输入一个单独的名称属性是很重要的。


推荐阅读