假设UI库中有一个使用ChangeDetectionStrategy.Default
的组件,但希望通过ChangeDetectionStrategy.OnPush
属性为消费者提供使用Input()
的选项(例如,对性能敏感的情况)
是否可以在运行时更改组件的更改检测策略?还是只能在@Component
装饰器中设置它?
答案 0 :(得分:-1)
可以从'@ angular / core'注入ChangeDetectorRef并在通过Input()属性触发的函数中调用detectChanges()
// Import
import { ChangeDetectorRef } from '@angular/core';
//Constructor
constructor(private cdr: ChangeDetectorRef) { }
//Function
input() {
this.cdr.detectChanges();
}