根据输入参数类型在模板中显示div

时间:2018-08-10 12:44:43

标签: angular typescript

我的情况如下:我有一个类层次结构:

enter image description here

在Angular App中,我有一个组件,该组件的输入过程为:

    @Input() currentProcess: Process 

根据此过程的具体类型(ProjectProcess或EmployeeProcess),我想在模板中显示另一个div。 当然,我可以通过使用instanceof检查变量并设置一个boolen变量,然后在模板中使用* ngIf进行检查来做到这一点-但我对此感到不满意。这真的是唯一的方法还是有更好的解决方案?

感谢您的努力!

1 个答案:

答案 0 :(得分:2)

使其干净,使用吸气剂:

get isProjectProcess() { return this.currentProcess instanceof ProjectProcess; }
get isEmployeeProcess() { return this.currentProcess instanceof EmployeeProcess; }

此解决方案的优势在于您的布尔值将在每个生命周期中发生变化,从而避免了实现onChanges

的需要