带有OnPush更改检测的角度更新属性



使用changeDetection的此代码:ChangeDetectionStrategy。默认

export class HomePageComponent {
constructor(
private i18nService: I18nService
) {}
get language(): string {
return this.i18nService.language;
}
}

角度更新视图,但使用changeDetection:ChangeDetectionStrategy.OnPush,

事实并非如此,问题是:

如何使用OnPush更新视图?

OnPush将只运行一次更改检测(在创建时(。Angular只有在@Input((属性的引用发生更改时(或者调用组件的事件处理程序时(才会触发更改检测。在您的组件中,我根本看不到@Input((语句。

您可以通过将ChangeDetectorRef注入组件并在其上调用适当的方法来手动运行更改检测

最新更新