快速上手vue前端存储库、全局状态管理工具pinia
2024-09-08 19:28:30
pinia是什么,为什么我们要使用pinia?
- pinia是vue全局状态管理工具,类似vueX,用于全局的数据状态存储、修改变更等等
- 相较于vueX,pinia的使用较为简单,轻量级,上手容易,干掉了vueX的层层套娃
快速安装配置pinia
- 安装依赖 npm install pinia
- 创建一个store
// 创建一个store文件,对全局属性、方法变量进行管理
import { defineStore } from "pinia"; //defineStore返回一个函数进行调用,参数一为命名,即存储在本地的名称,参数二是对应的配置
//state 用于变量的存储,getters是计算属性,action是方法集合,同步异步方法均可执行
export const useStore = defineStore('store', {
state:()=>({
count:0,
}),
getters:{ },
actions:{
increaseCount(){
this.count++;
}
}
}) - 挂载pinia到vue上,vue js入口文件,main.js中操作
import { createPinia } from 'pinia';
app.use(createPinia());
如何使用pinia
//在需要使用的组件中,引入刚才导出的变量 useStore,注意,该变量是defineStore返回的函数
import { useStore } from './store';
const authStore = useStore();
// 使用变量
console.log(authStore.count);
// 调用方法
authStore.increaseCount();数据持久化操作,避免页面刷新,数据就没了
- 这里推荐插件 pinia-plugin-persistedstate
// 安装依赖 npm install pinia-plugin-persistedstate // 在挂载pinia到vue前,配置持久化,main.js入口文件中操作
import { createPinia } from 'pinia';
// 引入持久化插件
import { createPersistedState } from 'pinia-plugin-persistedstate';
const pinia = createPinia();
pinia.use(createPersistedState({
serializer: { // 指定参数序列化器
serialize: JSON.stringify,
deserialize: JSON.parse,
}
}));
app.use(pinia);// 挂载pinia// 创建一个store文件,对全局属性、方法变量进行管理
import { defineStore } from "pinia"; //defineStore返回一个函数进行调用,参数一为命名,参数二是对应的配置
//state 用于变量的存储,getters是计算属性,action是方法集合,同步异步方法均可执行
export const useStore = defineStore('store', {
state:()=>({
count:0,
}),
getters:{ },
actions:{
increaseCount(){
this.count++;
}
},
// 持久化配置
persist: {
key: 'store',//存储本地的名字
storage:window.localStorage,//存储地址,可选sessionStorage
paths:['count'],//需要持久化的变量
},
})
最新文章
- 创建SSH Key连接github或gitlab
- thinkphp怎么修改配置进入默认首页
- iOS开发小技巧 -- tableView-section圆角边框解决方案
- 【Java EE 学习 80 下】【调用WebService服务的四种方式】【WebService中的注解】
- switch..case使用
- 关于kali2.0 rolling无法连接数据的解决办法
- SSRS报表参数设置
- mongodb的安装及注意事项
- Notes of Linked Data concept and application - TODO
- C# 公关类(全)
- Mac安装Mysql无法登录
- js 哈希路由原理实现
- LOOKUP函数入门
- logback配置信息
- Python字符串常用方法(二)
- JVM之虚拟机类加载机制
- C++ 使用openssl库实现 DES 加密——CBC模式 &;&; RSA加密——公加私解——私加公解
- idea插件JRebel 解决热编译,开启高级debug之路
- Coursera台大机器学习技法课程笔记09-Decision Tree
- 【转载并整理】mysql分页方法
热门文章
- winform datagridview行头添加序号
- SSH SCP 使用秘钥验证 登录
- 第1章-Spring的模块与应用场景
- Windows server 2008 tomcat间歇性掉线关闭
- oracle 内置函数(三)日期函数
- ArcGIS 添加Excel数据 报错 ArcGIS Failed to connect to database 外部数据库驱动程序(1)中的意外错误
- 深入浅出学习透析 Nginx 服务器的基本原理和配置指南「运维操作实战篇」
- 【Oracle】Oracle读取RAW二进制类型并实现与十六进制的相互转换
- dubbo2升级到dubbo3实践
- @ApiImplicitParams注解的详细使用