为什么在Angular 5应用程序的屏幕上显示null?

为什么在Angular 5应用程序的屏幕上显示null?,angular,Angular,我有一个显示字符串值的简单模板: <span class="fax_number">{{company.fax}}</span> {{company.fax} 当值为空时,屏幕显示字符串“null”,而不是 空字符串,这种情况在应用程序的许多地方都会发生,是吗 避免这种情况的好方法?comapany数据必须已被类型转换为string,该字符串正在将null转换为“null” 试着这样做: <span class="fax_number"><span

我有一个显示字符串值的简单模板:

<span class="fax_number">{{company.fax}}</span>
{{company.fax}
当值为空时,屏幕显示字符串“null”,而不是 空字符串,这种情况在应用程序的许多地方都会发生,是吗
避免这种情况的好方法?

comapany数据必须已被类型转换为
string
,该字符串正在将
null
转换为
“null”

试着这样做:

<span class="fax_number"><span *ngIf="company.fax!="null">{{company.fax}}</span>

您可以通过为变量设置
未定义
来避免这种情况

this.company.fax = this.company.fax != null ? this.company.fax: undefined;
我认为在整个项目中添加一个条件来检查空值不是一个好主意。

试试

{{company.fax!=null ? company.fax : "" }}

我个人更喜欢:
{{company.fax | |''''}}

因为它很容易阅读

但是,这可能不是解决方案,因为angular不显示
null
值。您的属性/字段可能包含字符串
'null'
,而不是begin
null
。 如果这种情况在整个应用程序中都发生,那么您可能在如何序列化数据方面存在问题。
如果您想在html中克服这个问题,可以编写类似于
{{company.fax=='null'?'':company.fax}}
,但我建议您看看如何将数据序列化为json,因为我倾向于说它的行为有问题。

我认为最好的解决方案是使用安全的导航操作符(?)

下面是您的代码的外观:

<span class="fax_number">{{company?.fax}}</span>
{{公司?.fax}
如果您需要更多详细信息:


注意,Max

这是最好的解决方案,因为数据库保存“null”字符串,并且只有在使用此解决方案时,数据库列才保存真正的null值。