pinia的使用以及持久化存储

news/2024/9/23 11:16:32/

vuex和pinia的区别

  1. pinia没有mutations,只有:state、getters、actions;
  2. pinia分模块不需要modulles(之前vuex分模块需要modules)
  3. pinia体积更小(性能更好);
  4. pinia可以直接修改state数据;

一、安装使用

1、安装下载

npm install pinia 
# or 
yarn add pinia

2、main.js引入

import {createPinia} from 'pinia' app.use(createPinia())

3、根目录创建store/index.js中写入

import {defineStore} from "pinia"
export const userStore = defineStore("",{state:()=>{return{count:0}},getters:{},actions:{}
})

4、组件使用

<script setup> import {userStore} from '../store' const store = userStore() </script>

5、修改stroe中的数据

<script setup>import {storeToRefs} from 'pinia'const store = userStore()const {count,name} = storeToRefs(store)const changeName = () =>{name.value = 'wanjun'}
<script >
import {defineStore} from "pinia"
export const userStore = defineStore("storeId",{state:()=>{return{count:0,name:'z55'}},getters:{changeNum(){return this.count +100}},// 支持同步、异步actions:{upNum(val){this.count += val}}
})

二、pinia持久化存储

1、安装插件

npm i pinia-plugin-persist --save

2、store/index.js

import {createPinia} from 'pinia'
// 引入pinia持久化存储插件
import piniaPluginPersist from 'pinia-plugin-persist'const store = createPinia()
//使用插件
store.use(piniaPluginPersist)
export default store

3、在main.js中引入

reateApp} from 'vue'
import App from '@/App.vue'
import {createPinia} from 'pinia'
import store from "@/store/index";
const app = createApp(App)
// 1.createPinia()、2.store有先后顺序
app.use(createPinia())
app.use(store)
app.mount('#app')

store/user.js 本地保存

// 开启数据缓存
persist:{enabled:true,strategies:[{key:'xiao',storage:localStorage}],paths:[]
}


http://www.ppmy.cn/news/38621.html

相关文章

小程序开发收费价目表

小程序作为一种新兴应用形式&#xff0c;正在逐渐成为企业和个人推广、运营的重要手段。然而&#xff0c;小程序开发的价格因项目规模和复杂程度差异较大&#xff0c;令不少人望而却步。本文将从小程序开发的相关因素入手&#xff0c;探讨小程序开发的价格范围和算法。 一、小…

torch.permute方法使用,后需要加.contiguous()方法

参考&#xff1a;Pytorch之permute函数 https://zhuanlan.zhihu.com/p/76583143 pytorch的permute方法用于调整矩阵的维度。同numpy的transpose()方法&#xff0c;但需要注意的是使用permute后需要使用contiguous方法。在PyTorch中&#xff0c;permute()方法可以重新排列张量的…

docker-composeERROR:ERROR: Version in “./docker-compose.yml“ is unsupported

常见问题 docker compose出现ERROR:ERROR: Version in "./docker-compose.yml" is unsupported. You might be seeing this error because youre using the wrong Compose file version. Either specify a supported version ("2.0", "2.1", &qu…

学习通学习--脚本

刷客就爱学学习-首页 (xxbwk.top) 所有科目答案可以网上找超星尔雅学习通《形势与政策》2023年春章节测试答案 (3gmfw.cn) 学习通全部答案 萌面人 – 萌面人官网 (mengmianren.com) 自动答题教程 想要使用自动答题功能&#xff0c;只需要一个配置项就可以让OCS脚本拥有自动答…

使用js实现任意元素均可全屏显示的插件,提供vue自定义指令,开箱即用

cj-toolkit-x-full-screen 给界面上任意元素提供全屏能力的组件; 1.支持多层级逐级打开全屏和取消全屏。 2.提供完善的生命周期监听函数。 3.默认提供vue自定义指令&#xff0c;开箱即用 配置项 属性名说明类型默认值targetEl全屏的目标元素HTMLElement非指令方式必填closeOn…

es在索引中自定义简单的分词器 Analyzer 扩展

es在索引中自定义简单的分词器 Analyzer 扩展 PUT index1 { "settings": { "analysis": { "analyzer": { "ik_max_word_expand": { "type": "custom", "char_filte…

Linux系统之普通用户sudo提权配置

Linux系统之普通用户sudo提权配置一、检查本地系统版本二、创建redhat普通用户1.创建redhat用户2.为redhat用户设置密码3.查询创建用户相关命令的绝对路径三、编辑/etc/sudoers文件四、检查redhat用户权限1.切换到redhat用户2.新建huawei账号3.查看新创建用户4.为huawei账号设置…

手机卡顿、内存不足?360清理大师排忧解难

当下&#xff0c;手机越用越卡已经成为不少用户普遍的困境。然而这些问题的存在并非是手机质量问题&#xff0c;很多时候可能是手机长期没有清理垃圾造成的。所幸&#xff0c;目前市面上已经出现了不少专业的清理软件&#xff0c;如360清理大师就是被更多人推荐的一款。它不仅可…