在 Angular 中,ngDoCheck 是一个生命周期钩子函数,用于在每次变更检测周期中检测和处理组件中的变化。
我们可以用它来实现类似 Vue watch 侦听器的效果:
export class MyComponent implements DoCheck {
ngDoCheck() {
// 执行你的逻辑...
console.log("变更检测")
}
}
在我的 TodoMVC 中,我用它来监听 todos 数组的变化,以便在 todos 发生变化时,自动更新 localStorage 中的值:
ngDoCheck() {
const todos = JSON.stringify(this.todos)
if (todos !== localStorage.getItem(this.storageKey)) {
localStorage.setItem(this.storageKey, todos)
}
}