【发布时间】:2018-12-27 22:41:42
【问题描述】:
在 Angular 2 - 6 中是否可以覆盖空值的默认绑定/插值行为。
例如,
{{ null }} // gives ''
我想覆盖此行为,以便 {{ null }} 在 HTML 中解析为 "NA" 或 "-"。
PS:我知道像{{ null || 'NA' }} 这样实现这一目标的常用方法,但我想要一个集中的解决方案。
更新:
Pipes 绝对是比使用 or 运算符更好的解决方案,但它需要与上面相同数量的代码重复/噪声。 {{ null | NAPipe }} 和 {{ null || 'NA' }} 一样嘈杂。
【问题讨论】:
-
你也要避免使用管道吗?
-
是的。尽管管道是集中式解决方案,但它需要在组件中重复相同数量的代码。
-
只需将其添加到组件
Object.keys(this).forEach((key)=>this[key] = this[key] === null ? 'NA' : this[key])中的ngOnChanges。我敢肯定还有很多其他方法可以浪费时间来节省自己的时间。 -
我不确定你为什么被否决。这个问题似乎足够具体,而且框架通常确实提供了全局覆盖某些东西的钩子。
-
@FrankModica Angular 没有为它如何处理表达式解析提供任何钩子。您有
pipes和组件中的方法。他似乎不想那样。所以不可能有正确的答案。投反对票可以节省其他人的时间,这样他们就可以避免发布他不接受的答案。