为什么在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'
,而不是beginnull
。
如果这种情况在整个应用程序中都发生,那么您可能在如何序列化数据方面存在问题。
如果您想在html中克服这个问题,可以编写类似于{{company.fax=='null'?'':company.fax}}
,但我建议您看看如何将数据序列化为json,因为我倾向于说它的行为有问题。我认为最好的解决方案是使用安全的导航操作符(?)
下面是您的代码的外观:
<span class="fax_number">{{company?.fax}}</span>
{{公司?.fax}
如果您需要更多详细信息:
注意,Max这是最好的解决方案,因为数据库保存“null”字符串,并且只有在使用此解决方案时,数据库列才保存真正的null值。