当前位置: 首页> 健康> 美食 > 武汉网站seo哪家公司好_网站创建价格_免费网站推广方式_软文营销的宗旨是什么

武汉网站seo哪家公司好_网站创建价格_免费网站推广方式_软文营销的宗旨是什么

时间:2025/7/9 5:09:26来源:https://blog.csdn.net/qq_19688207/article/details/144885410 浏览次数:0次
武汉网站seo哪家公司好_网站创建价格_免费网站推广方式_软文营销的宗旨是什么

 Pinia本质上依然是一个全局状态管理的库,用于跨组件、页面进行状态共享(这点和Vuex、Redux、Mobx一样)。

1.首先,本地要下载并配置好node

2.创建文件假,并用vscode打开

3.创建vue3项目

npm init vue@latest

项目名称:vue3demo1

进入到项目目录中:

命令行:

cd vue3demo1

下载配置环境:

命令行:

npm i

安装pinia-plugin-persistedstate

命令行:

npm i pinia-plugin-persistedstate

运行命令行:

npm run dev

main.js文件修改:

修改前:

import './assets/main.css'import { createApp } from 'vue'
import { createPinia } from 'pinia'import App from './App.vue'
import router from './router'const app = createApp(App)app.use(createPinia())
app.use(router)app.mount('#app')

 修改后:

import './assets/main.css'import { createApp } from 'vue'
import { createPinia } from 'pinia'
import piniaPluginPersistedstate from 'pinia-plugin-persistedstate' //引入持久化插件import App from './App.vue'
import router from './router'const app = createApp(App)app.use(createPinia().use(piniaPluginPersistedstate))
app.use(router)app.mount('#app')

4.自定义store

src/stores/userstore.js:

没有持久化之前写法:

import { ref, computed } from 'vue'
import { defineStore } from 'pinia'export const useStore = defineStore('userStore', () => {const token = ref(null)// 赋值token-(普通函数)function setToken(val){token.value = val;}// 获取token-(箭头函数)const getToken = () =>{return token.value;}return { token, setToken, getToken }})

持久化写法: 

import { ref, computed } from 'vue'
import { defineStore } from 'pinia'export const useStore = defineStore('userStore', () => {const token = ref(null)const user = ref({name:null,age:null})// 赋值token-(普通函数)function setToken(val){token.value = val;}// 获取token-(箭头函数)const getToken = () =>{return token.value;}// 设置用户信息const setUserInfo = (obj) => {user.value.name = obj.name;user.value.age = obj.age;}// 获取用户信息const getUserInfo = () =>{return user;}return { token, setToken, getToken,user,setUserInfo,getUserInfo }},{persist:true// 持久化全部// 参数持久化/*persist:{key: 'testStore', //存储名称storage: sessionStorage, // 存储方式 - sessionStorage、localStorage//指定哪些数据需要被持久化。//pick: ['token','user.name'],//[] 表示不持久化任何状态//pick:[],//undefined 或 null 表示持久化全部数据//pick:null}*/})

 

5、使用方法

AboutView.vue:

<template><div class="about"><h1>token值:{{ store.token }}</h1><button @click="setMethod">设置token</button><button @click="getMethod">获取token</button><button @click="setUser">设置用户信息</button><button @click="getUser">获取用户信息</button><div>---------------</div><h1>用户姓名:{{ store.user.name }}</h1><h1>用户年龄:{{ store.user.age }}</h1></div>
</template>
<script setup>
import {useStore} from '@/stores/usersotre'const store = useStore();// 设置方法-普通方法
function setMethod(){store.setToken("1111")
}// 获取方法-箭头函数
const getMethod = () =>{console.log("store.getToken()", store.getToken())
}// 设置用户信息
const setUser = () =>{store.setUserInfo({name:'zgy',age:38})
}// 获取用户信息
const getUser = () =>{console.log("store.getUserInfo()",store.getUserInfo())
}</script><style>
@media (min-width: 1024px) {.about {min-height: 100vh;align-items: center;}
}
</style>

关键字:武汉网站seo哪家公司好_网站创建价格_免费网站推广方式_软文营销的宗旨是什么

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: