这可能是因为Angular的变化检测机制没有触发,可以尝试手动触发它。具体来说,可以使用ChangeDetectorRef
中的detectChanges()
方法来强制应用检测当前组件及其子组件的变化,以便将更新反映到DOM中。下面是一个简单的示例:
在组件中注入ChangeDetectorRef
:
import { Component, ChangeDetectorRef } from '@angular/core';
@Component({
selector: 'app-my-component',
template: `
{{ myValue }}
`,
})
export class MyComponent {
myValue = 'initial value';
constructor(private cdr: ChangeDetectorRef) {}
changeValue() {
this.myValue = 'new value';
this.cdr.detectChanges(); // 手动触发变化检测
}
}
请注意,在调用detectChanges()
之前,必须确保myValue
已经改变。否则,不会有任何反映。