在角度2

时间:2017-02-27 09:37:02

标签: angular

假设我正在访问和显示html中的数据,如此

{{whole_data?.age_range ? whole_data?.age_range : '-'}}

现在问题是,如果whole_data?.age_range被评估为0null,它将始终显示-,除了表达式值非零或不为空,

我的问题是

  1. 为什么如此(在这种情况下,零被视为假)?

  2. 同样的替代品是什么?

  3. PS: - 我不想使用条件特别是检查值是否为零,因为这个语法我在代码中使用了1000次

1 个答案:

答案 0 :(得分:3)

您可以缩短模板表达式,但结果会相同:

{{whole_data?.age_range || '-'}}

没有其他办法。始终将0评估为false。您应该使用管道来防止重复代码:

@Pipe({
    name: "dashNumber"
})
export class DashNumber implements PipeTransform {

    transform(value: number): number {
        value = parseFloat(value);
        return isNaN(value) ? '-' : value;
    }

}

用法:

{{whole_data?.age_range | dashNumber}}