在Angular中,自动变更检测是默认启用的。但是,有时可能需要手动重新启用自动变更检测。以下是一个示例解决方法:
ChangeDetectorRef
:import { Component, ChangeDetectorRef } from '@angular/core';
ChangeDetectorRef
:constructor(private cdr: ChangeDetectorRef) { }
detectChanges()
方法:this.cdr.detectChanges();
这将触发组件的自动变更检测,并更新视图。以下是一个完整的示例:
import { Component, ChangeDetectorRef } from '@angular/core';
@Component({
selector: 'app-my-component',
template: `
{{ message }}
`
})
export class MyComponent {
message: string = "Hello, World!";
constructor(private cdr: ChangeDetectorRef) { }
updateMessage() {
this.message = "Updated Message";
this.cdr.detectChanges();
}
}
在上面的示例中,当按钮被点击时,updateMessage()
方法会更新message
的值,并调用detectChanges()
来重新启用自动变更检测,以更新视图中的消息。