1

假设 UI 库中有一个使用 的组件ChangeDetectionStrategy.Default,但希望ChangeDetectionStrategy.OnPush通过属性为消费者提供使用的选项(例如,对于性能敏感的情况)Input()

是否可以在运行时更改组件的更改检测策略?还是只能在@Component装饰器中设置?

4

1 回答 1

-1

可以从“@angular/core”注入 ChangeDetectorRef 并在通过 Input() 属性触发的函数中调用 detectChanges(),例如

// Import
import { ChangeDetectorRef } from '@angular/core';

//Constructor
constructor(private cdr: ChangeDetectorRef) { }

//Function
input() {
  this.cdr.detectChanges();
}
于 2019-07-10T18:27:58.410 回答