Angular 角度HTML属性布尔值未第一次更新

Angular 角度HTML属性布尔值未第一次更新,angular,Angular,当component.ts文件中的变量为null、未定义或0时,我有一个按钮要禁用。按钮开始时是禁用的,应该禁用,然后在应该启用时变为启用,但之后不会返回禁用状态 按钮本身: <button pButton type="button" (click)="clearTableSort()" label="Clear Sort" [disabled]="!sortOrder" class="ui-button-secondary"> </button> 还有

当component.ts文件中的变量为null、未定义或0时,我有一个按钮要禁用。按钮开始时是禁用的,应该禁用,然后在应该启用时变为启用,但之后不会返回禁用状态

按钮本身:

<button pButton type="button" (click)="clearTableSort()" 
   label="Clear Sort" [disabled]="!sortOrder" 
   class="ui-button-secondary">
</button>

还有另一个函数可以更改
sortOrder
,将其设置为1或-1(升序或降序)。对表进行排序时,该按钮将启用,但单击“清除排序”按钮时,直到单击两次,该按钮才会禁用。

我最后看到的是另一个同时编辑的属性。我现在正在做
[disabled]=“sortField==”\u score'
。但我仍然不确定这到底是为什么会起作用。

!只有在以下情况下,sortOrder才会给出true:1。sortOrder为false或2。排序器为空。当sortOrder为0时,它包含一些内容,因此!sortOrder将为false

我知道这不会有任何区别,但您能否尝试
[禁用]=“sortOrder===0”
看看它是否正常工作?您是否正在使用primeng ui库进行分析???对于pButton标记,如果是这种情况,那么您的事件(onClick)不是(click)@will alexander检查是否等于0具有相同的效果:(@crying freeman我正在使用priming,但只有
需要
onClick
而不是click.try
[disabled]=“sortOrder==null | | sortOrder==0”
,同时添加
{sortOrder | json}
添加到html中,以确保您的值已更改表排序时编写的代码是什么?
clearTableSort() {
  this.sortOrder = 0
  this.sortField = '_score'
}