监视vuex,state中某个状态的变化
- 解决问题的思路是通过 vue 的
computed
计算属性将state中要监视的数据取出来,然后通过watch
监视属性监视其变化,以实现某些操作 - 如我们要监视 state中 的 todos,当todos发生变化时将它更新到本地存储就可以通过下面的代码来实现
computed: {
todos() {
return this.$store.state.todos;
}
},
watch: {
// 监视todoListModule.todos,当发生变化时将todos重新写入本地存储
todos: {
deep:true,
handler(value) {
window.localStorage.setItem('todos_key', JSON.stringify(value));
}
}
}