将变量分配给OR表达式是否有捷径?例如,我的UI上有一个按钮,该按钮根据某些变量的状态而被禁用。

this.disableButton = data && data.items.length < 2 && pending;

我还有一个复选框,用于确定是否要禁用或启用所述按钮。

因此,该按钮最终基于如下所示的表达式被禁用/启用:

this.disableButton = this.disableButton || !checked

在我的模板上,我有类似以下内容:

<component [class.disabled]="disableButton"></component>

我只是好奇是否有一种方法可以缩短上述表达式的语法。就像是:

this.disableButton ||= !checked

谢谢

最佳答案

一次全部分配给disableButton而不是首先为结果分配一个中间值,然后再重新分配,这将更直接-令人困惑。因为checked可以确定结果,所以如果首先检查它,它将是最清晰的:

this.disableButton = !checked || (data && data.items.length < 2 && pending);

10-04 15:41