文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

vue3+vite中如何使用vuex

2023-07-04 16:02

关注

本篇内容主要讲解“vue3+vite中如何使用vuex”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“vue3+vite中如何使用vuex”吧!

具体步骤:

安装vuex( vue3建议 4.0+ )

pnpm i vuex -S

main.js中配置

import store from '@/store'// hx-app的全局配置const app = createApp(App)app.use(store)

新建相关的文件夹与文件,这里配置多个不同vuex内部的js,使用vuex的modules来放不同的页面,文件,然后统一使用一个getters.js

vue3+vite中如何使用vuex

 index.js  核心文件,这里使用了import.meta.glob,而不是require

import getters from './getters'import { createStore } from 'vuex' const modulesFiles = import.meta.glob('./modules/*.js',{ eager: true }); // 异步方式 let modules = {}for (const [key, value] of Object.entries(modulesFiles)) {  var moduleName = key.replace(/^\.\/(.*)\.\w+$/, '$1');  const name = moduleName.split('/')[1]  modules[name] = value.default} const store = createStore({  modules,  getters}) export default store

getters.js 内部根据不同的页面来发送不同的state数据

const getters = {  sidebar: state => state.app.sidebar,  token: state => state.user.token,} export default getters

app.js   可以定义不同的变量,然后统一   export default

const state = {  sidebar: '123'} const mutations = {  TOGGLE_SIDEBAR: state => {    state.sidebar = '2222'     }, const actions = {  toggleSideBar({ commit }) {    commit('TOGGLE_SIDEBAR')  }} export default {  namespaced: true,// 为每个模块添加一个前缀名,保证模块命明不冲突  state,  mutations,  actions}

user.js  也可以直接返回一个对象,写法都可以

export default {  state: {    token: '123'  },   mutations: {    SET_TOKEN: (state, token) => {      state.token = token    },  },   actions: {  }}

具体页面使用

1)引入

import { useStore } from 'vuex'

2)具体使用

setup(){    const store = useStore()}

vue3+vite中如何使用vuex

3)使用  mutations里面的方法

store.commit("app/TOGGLE_SIDEBAR", 1)

4)使用actions里面的方法

store.dispatch("app/asyncAddStoreCount", 2)

vuex中推出了一个插件(vuex-persistedstate),可以解决刷新数据无保存的问题, 可以把数据除了vuex以外,在本地和会话(都支持)储存下

1)安装

pnpm i vuex-persistedstate -S

2)store/index.js

import createPersistedstate from 'vuex-persistedstate' //第一步导入import { createStore } from 'vuex'const store = createStore({  modules,  getters,  //第二步是加这段代码,默认是存到了localStorage中  plugins: [    createPersistedstate({      key: 'vuex-local', //存储持久状态的键。(默认:vuex)      paths: ['user'], //部分持续状态的任何路径的数组。如果不加,默认所有。      // storage: window.sessionStorage //默认存储到localStorage,想要存储到sessionStorage    })  ]})

API

createPersistedState([options])使用给定的选项创建插件的新实例。可以提供以下选项来配置您的特定需求的插件:

到此,相信大家对“vue3+vite中如何使用vuex”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯