Angular Typescript string属性值为0/10时UI展示异常问题求助
问题原因
你的判断逻辑存在隐式类型转换问题,和需求不匹配:
- 需求要求仅当
min和max均为null时返回Unknown,但原代码的!(min && max)写法等价于「只要min或max任意一个是JS falsy值就返回Unknown」 - JS中falsy值包含数字
0、空字符串""等,如果你的min实际为数字类型的0(或者是空字符串),即使max有正常取值,也会触发错误分支 - 你提到的
min为0时显示异常就是这个原因导致的,如果走了错误分支你看到的是Unknown,如果实际显示为两个0,建议额外检查max的赋值逻辑是否存在连带错误
修复方案
改为显式判断min和max是否同时为空(null/undefined)即可,避免隐式布尔转换的问题:
public get cardNotPresentTurnover(): string { const turnover = this.location?.cardNotPresentTurnover; // 仅当两个值都为null/undefined时返回Unknown if (turnover?.min == null && turnover?.max == null) { return 'Unknown'; } return `${turnover.min}% - ${turnover.max}%`; }
内容的提问来源于stack exchange,提问作者Tom
相关产品推荐
相关产品推荐

