搭建pinia环境
pinia:集中式状态管理工具,用于各组件之间共享数据(多个组件会用到的数据才考虑放到pinia中)
在vue2中使用的是vuex
1.终端输入:npm i pinia
2.
在vue组件中出现pinia
用pinia存储+读取数据
要想好什么组件的什么数据要放入pinia,就是某个组件你希望哪些数据可以和别的组件共享
例:把Count.vue组件的sum、LoveTalk.vue组件的talkList放入pinia
1.在src文件夹下面创建store文件夹(store就是pinia的一个具体体现)
2.在store文件夹下面创建count.ts和loveTalk.ts文件
3.将想要存储到pinia中的数据写进去
3.在组件中导入对应的store并且删除已经放入store中的数据定义,使用store中的数据
4.在网页的pinia组件中就可以看到你创建的store
pinia修改数据的三种方式
修改方法3:当你在actions中添加判断函数之后,所有组件都可以使用这个判断函数,是一种优化,复用的思想
storeToRefs
之前学过toRefs,知道在解构一个响应式对象的一些属性时会让这些属性失去响应式,所以解构的时候要用toRefs包一下
直接解构出来数据就可以在引用数据时清爽一点
原本引用时要 countStore.sum....
解构出来:直接用数据名
但是不能用toRefs来将解构出来的数据变成ref定义的响应式数据,因为这样的话他会把store中的所有数据全部变成ref的,即使是没有用过的数据
要用storeToRefs,这样他只会把数据变成ref的,不会关注方法