3 回答

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超6個(gè)贊
你有沒有嘗試過:
@Component({
selector: 'app-button',
styleUrls: ['./button.component.scss'],
changeDetection: ChangeDetectionStrategy.OnPush, // force a component re-draw on input change
template: `
<ion-button color="{{color}}" (click)="action.emit(null)" [disabled]="condition">
{{title}}
</ion-button>
`
})
如果您只是將 an 傳遞@Input()給模板,則可以將 更改changeStratergy為OnPush。
如果您還想@Input()在組件內(nèi)部使用 ,您可以添加ngOnChanges觸發(fā)函數(shù),這些函數(shù)需要在@Input()更改時(shí)觸發(fā)。
https://angular.io/api/core/ChangeDetectionStrategy
OnPush 如果頁面上同時(shí)有很多組件,可以大大加快您的應(yīng)用程序的速度

TA貢獻(xiàn)1779條經(jīng)驗(yàn) 獲得超6個(gè)贊
怎么樣
[attr.disabled]="condition ? '' : null"
而不是直接使用disabled
. 那應(yīng)該可以完成這項(xiàng)工作。

TA貢獻(xiàn)1836條經(jīng)驗(yàn) 獲得超13個(gè)贊
試試這個(gè)代碼
<ion-button color="{{color}}" (click)="action.emit(null)" [disabled]="condition">
{{title}}
</ion-button>
添加回答
舉報(bào)