Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 2-重写空值的默认绑定行为的可能性_Angular_Binding - Fatal编程技术网

Angular 2-重写空值的默认绑定行为的可能性

Angular 2-重写空值的默认绑定行为的可能性,angular,binding,Angular,Binding,在Angular 2-6中是否可以覆盖空值的默认绑定/插值行为 比如说, {{ null }} // gives '' 我希望重写此行为,以便{{null}}在HTML中解析为NA或- PS:我知道实现这一点的常用方法,比如{{null | | |'NA'}},但是我想要一个集中的解决方案 更新: Pipes无疑是比使用or操作符更好的解决方案,但它将需要与上述相同数量的代码复制/噪声。{null | NAPipe}}与{{null | | | NA'}一样嘈杂。您可以使用一个管道,在这里为数

在Angular 2-6中是否可以覆盖空值的默认绑定/插值行为

比如说,

{{ null }} // gives ''
我希望重写此行为,以便{{null}}在HTML中解析为NA或-

PS:我知道实现这一点的常用方法,比如{{null | | |'NA'}},但是我想要一个集中的解决方案

更新:


Pipes无疑是比使用or操作符更好的解决方案,但它将需要与上述相同数量的代码复制/噪声。{null | NAPipe}}与{{null | | | NA'}一样嘈杂。

您可以使用一个管道,在这里为数据ex-null提供显示值

当值为null时,管道将返回“NA”

@Pipe({ name: 'displayFormatter' })
    export class DisplayFormatterPipe implements PipeTransform {
    public transform(value: any): string {
        switch (value) {
            case null:
                return 'NA'
                break;
            case ... // complete the code   
        }       
    }
}
在你的html中

{{value | displayFormatter}}

如果您不喜欢使用管道,请从生成这些值的方法返回一个显示值

yourFunction(): any {
    ....
    return this.formatValue(yourValue); // Implement formatValue to generate display value
}

你想避免使用管道吗?是的。虽然管道是集中式解决方案,但它需要在组件中重复相同数量的代码。只需将其添加到组件对象中的ngOnChanges中即可。keysthis.forEachkey=>this[key]=this[key]==null?“答:这个[键]。我相信还有很多其他方法可以浪费时间来节省自己的时间。我不知道你为什么会被否决。这个问题似乎足够具体,框架通常提供钩子来全局覆盖某些内容。@FrankModica Angular没有提供任何钩子来说明它如何处理表达式解析。您可以使用组件中的管道和方法。他似乎不想那样。所以不可能有正确的答案。向下投票节省了其他人的时间,这样他们就可以避免发布他不会接受的答案。如果他因为代码重复而不想使用管道,我想他也不想在任何地方都这样做,但我的答案至少可以被另一个有类似问题的人考虑,如果他只有一个或最小的yourFunction类方法的话。他可以尽量减少重复