const param = reactive ({
a: 1,
b:2,
c:3
})
param = {
a:4,
b:5,
c:6
}
直接重新赋值会导致param响应式丢失,不能监听到变化了
用reactive 需要修改参数用
param.a = 4 .....
这样一个个点的写法,才能有效果,
可以改一个写法,使用ref
const param = ref ({
a: 1,
b:2,
c:3
})
param.value = {
a:4,
b:5,
c:6
}
其实这个网上有很多说明,重点又写一次是因为在用pinia的组合式写法时,定义了变量用的reactive ,其中有一个是重新赋值的函数,做了本地持久化,发现持久化实效,最后调试发现没有修改的时候没有触发subscript,持久化插件中,核心处理代码为
store.$subscribe(
(_mutation, state) => {
persistState(state, persistence);
},
{
detached: true
}
);
实际修改中,没有触发订阅,导致本地保存失败,持久化无效。