当前位置: 首页 > news >正文

uniapp 使用 pinia 状态持久化

1.创建文件

stores
-index.js
-global.js

2.对应文件内容 index.js
安装插件 npm i pinia-plugin-persistedstate

import { createPinia } from 'pinia';
import persist from 'pinia-plugin-persistedstate';
const pinia = createPinia();
pinia.use(persist);
export default pinia;

3.对应文件内容 global.js

import { defineStore } from 'pinia';
import { ref,reactive } from "vue";export const useGlobalStore = defineStore('global', () => {const tabBarStatus = ref('1');const system = ref({})const changeTabBarStatus = (status) => {tabBarStatus.value = status; // 示例:改变 tabBarStatus 的值};const setSystem=(options)=>{system.value=options;}const getSystem=()=>{return system.value;}return { tabBarStatus, system,changeTabBarStatus,setSystem,getSystem};
},
{// 网页端配置// persisit:true,// 小程序端  修改其设置 获取方法persist:{storage:{getItem(key){return uni.getStorageSync(key);},setItem(key,value){uni.setStorageSync(key,value);}}}});

4.注册到main.js中

import App from './App'
// #ifndef VUE3
import Vue from 'vue'
import './uni.promisify.adaptor'
Vue.config.productionTip = false
App.mpType = 'app'
const app = new Vue({...App
})
app.$mount()
// #endif// #ifdef VUE3
import { createSSRApp } from 'vue'
import pinia from '@/stores/index'
export function createApp() {const app = createSSRApp(App)app.use(pinia);return {app}
}
// #endif

如果想在utils 下的工具中使用可以使用一下写法

import pinia from '@/stores/index.js'
import { useGlobalStore } from "@/stores/global";
const globalStore = useGlobalStore(pinia)
export default {getUploadImageDomainName(){return  globalStore.system.img_host;}
}
http://www.lryc.cn/news/519446.html

相关文章:

  • HarmonyOS鸿蒙-@State@Prop装饰器限制条件
  • Java Web开发进阶——Spring Boot与Spring Data JPA
  • Vue Router4
  • 计算机网络之---应用层协议概述
  • html + css 顶部滚动通知栏示例
  • 【Rust自学】11.6. 控制测试运行:并行和串行(连续执行)测试
  • 某漫画网站JS逆向反混淆流程分析
  • React 中事件机制详细介绍:概念与执行流程如何更好的理解
  • Day04-后端Web基础(Maven基础)
  • vue3模板语法+响应式基础
  • 【面试题】简单聊一下什么是云原生、什么是k8s、容器,容器与虚机相比优势
  • 数据挖掘实训:天气数据分析与机器学习模型构建
  • STM32如何使用内部晶振作为晶振
  • 【Maui】导航栏样式调整
  • 【黑马程序员三国疫情折线图——json+pyechart=数据可视化】
  • 如何实现多级缓存?
  • Saas数据库迁移单租户数据
  • LeetCode100之括号生成(22)--Java
  • 阿里云ios镜像源
  • 芯片:为何英伟达的GPU能在AI基础设施领域扮演重要角色?
  • Linux系统之hostname相关命令基本使用
  • Domain Adaptation(李宏毅)机器学习 2023 Spring HW11 (Boss Baseline)
  • 在php中,Fiber、Swoole、Swow这3个协程都是如何并行运行的?
  • SQLite PRAGMA
  • 使用python调用JIRA6 REST API及遇到的问题
  • 基于STM32的智能电表可视化设计:ESP8266、AT指令集、python后端Flask(代码示例)
  • 图片和短信验证码(头条项目-06)
  • 2501,wtl显示html
  • 嵌入式C语言:什么是指针?
  • 解锁 KaiwuDB 数据库工程师,开启进阶之路