pinia的使用

搭建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的,不会关注方法

相关推荐
wearegogog12344 分钟前
基于 MATLAB 的卡尔曼滤波器实现,用于消除噪声并估算信号
前端·算法·matlab
Drawing stars1 小时前
JAVA后端 前端 大模型应用 学习路线
java·前端·学习
品克缤1 小时前
Element UI MessageBox 增加第三个按钮(DOM Hack 方案)
前端·javascript·vue.js
小二·1 小时前
Python Web 开发进阶实战:性能压测与调优 —— Locust + Prometheus + Grafana 构建高并发可观测系统
前端·python·prometheus
小沐°1 小时前
vue-设置不同环境的打包和运行
前端·javascript·vue.js
qq_419854052 小时前
CSS动效
前端·javascript·css
烛阴2 小时前
3D字体TextGeometry
前端·webgl·three.js
acheding2 小时前
Vue3 + AntV/X6 自定义节点实践:组件化节点与事件联动
前端框架·vue
桜吹雪2 小时前
markstream-vue实战踩坑笔记
前端
C_心欲无痕3 小时前
nginx - 实现域名跳转的几种方式
运维·前端·nginx