当模型属性未定义时,IE / Edge呈现“null”

时间:2018-05-09 14:32:16

标签: angular internet-explorer angular5 microsoft-edge

我正在使用Angular 5,当我对模型中的某些数据进行模板绑定时,我绑定的模型属性缺失IE / Edge会将字符串“null”呈现。

EX:

<span [innerHTML]="pagemodel.someproperty">

如果pagemodel.someproperty不存在,则IE / Edge将在span标记中呈现“null”。发生这种情况是因为我的pagemodel来自一个服务,该服务不会发送默认值的属性,如空字符串,零或true。这样做是为了最小化发送到浏览器的数据的大小。我可以将pagemodel.someproperty ? pagemodel.someproperty : ''添加到所有绑定中,但实际上并不想将所有额外的代码添加到我的项目中。

1 个答案:

答案 0 :(得分:0)

根据我的理解,有一些解决方法可以解决此问题,

  1. 您可以使用 * ngIf =“ pagemodel.someproperty” 检查组件中的数据是否准备好可以显示在模板中。
  2. 默认情况下,您可以在组件中设置诸如 pagemodel ['someproperty'] =“”; 之类的虚拟值,并在可用时替换为实际值。
  3. 或者您可以使用DOM Sanitizer类对象并将null设置为“” (但也要知道DOMSanitizer的安全性概念)