请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

老师,我使用Pinia像你视频里这样修改后,本地数据还是会和store同步。

我使用的是pinia,如果把初始赋值改成const userInfo = ref({ ...store.userInfo })就好了,如果不解构,输入的值还是会和仓库里的userInfo绑定。请问这是什么原因呢?

正在回答 回答被采纳积分+3

1回答

提问者 CoderVi 2023-04-19 02:41:06

我的理解是这里如果

 const userInfo = ref(store.userInfo)

那么userInfo.value = store.userInfo,在模板中还是绑定到了store中的userInfo,解构后才是一个新的对象。

但是为什么视频中vuex可以这么做?是getters的原因吗?

0 回复 有任何疑惑可以回复我~
  • Sunday #1
    你好。
    在 vuex 中
    const userInfo =  ref(store.userInfo)。
    vuex 的 store.userInfo 返回的是一个具体的数据对象,打印可以看到打印得到的是一个对象。
    所以代码等同于
    const userInfo =  ref({ name: xxx, age: xxx。。。。 })
    这样就可以理解为什么不会进行绑定了
    回复 有任何疑惑可以回复我~ 2023-04-19 14:27:27
  • 提问者 CoderVi 回复 Sunday #2
    意思就是同样执行这行代码的时候,vuex返回的是数据对象,pinia返回的是响应式对象?
    回复 有任何疑惑可以回复我~ 2023-04-19 18:56:31
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信