我的代码如下:
<ion-row>
<ion-col class="alignCenter" col-6 col-sm-6 no-padding>
<p>Pulse (bpm)</p>
</ion-col>
<ion-col col-6 col-sm-6 no-padding>
<ion-item>
<ion-input type="text" [(ngModel)]="form.content.vitals.pulse"></ion-input>
</ion-item>
</ion-col>
</ion-row>
当我向后端发出请求时,有时会出现&#34; vitals&#34;级别未定义,我得到一个例外。
使用* ngIf =&#34; form.content.vitals&#34;的解决方案,而不是将输入添加到DOM对于这种情况不是一个好的,因为如果我没有任何东西&#34; vitals&#34;,然后根本不会出现输入。
我也不想手动输入&#34; vitals&#34;价值为{},因为我还有更多其他级别,比如这个。
我知道我可以用这个:
<ion-item>
<ion-input type="text" [ngModel]="form.content.vitals?.pulse" (ngModelChange)="form.content.vitals.pulse = $event"></ion-input>
</ion-item>
在Angular 1中它更容易,但我在想,还有其他可能解决这个问题吗?
答案 0 :(得分:0)
当我向后端发出请求时,有时会出现&#34; vitals&#34;级别未定义,我得到一个例外。
然后,当您从后端收到数据时,请检查它是否为undefined
并加载一个默认对象,其中包含所有属性的有效值,例如''
。
如果您打算保存/发布这些数据,则无论如何都必须单独检查它们。
为此,我建议您查看Angular的FormBuilder,这样您就可以为每个表单元素附加预定义或自定义验证器。