利用vuex-persistedstate将vuex本地存储实现

利用 vuex-persistedstate 可以将 Vuex 状态持久化到本地存储中,目的是为了在页面刷新后还能够保持之前的状态。下面是 vuex-persistedstate 的完整攻略:

安装

在项目目录下执行以下命令安装 vuex-persistedstate

npm install vuex-persistedstate --save

引入

在您的 Vuex store 入口文件中引入 vuex-persistedstate 模块并调用 createPersistedState 函数。

import Vue from 'vue';
import Vuex from 'vuex';
import createPersistedState from 'vuex-persistedstate';

Vue.use(Vuex);

const store = new Vuex.Store({
  // 声明状态
  state: {},
  // 定义mutations
  mutations: {},
  // 定义actions
  actions: {},
  // 定义getters
  getters: {},
  // 插件
  plugins: [
    createPersistedState()
  ]
});

export default store;

配置

createPersistedState 函数可以接收一个可选的配置对象中以及一个可选的存储引擎对象。下面是 createPersistedState 函数常用的配置选项:

  • key:用于存储持久化状态的键名称,默认为 vuex
  • paths:指定哪些状态需要持久化,默认情况下会持久化所有状态,但是如果值为数组,那么只持久化数组中声明的状态
  • reducer:自定义规则来减少存储的状态的大小,例如只存储有限的状态,将某些持久化状态字段重命名等等
plugins: [
  createPersistedState({
    key: 'myApp',
    paths: ['user'],
    reducer: state => {
      return {
        user: state.user
      };
    },
  }),
],

示例

以下是关于如何使用 vuex-persistedstate 的两个示例:

示例1:只持久化某个状态

假设我们有一个 counter 状态,它记录了页面上的一个计数器的值,我们只希望在页面刷新时持久化这个状态,其余状态都不需要持久化,这时候我们可以在 Vuex store 配置中加入以下内容:

plugins: [
  createPersistedState({
    paths: ['counter']
  })
],

这样,只有 counter 状态会被持久化到本地存储中。

示例2:自定义状态存储名称

默认情况下,持久化的状态对象会被存储在 localStorage 中,键名称为 vuex。但是很多时候我们希望自己来控制存储键的名称,这时候我们可以在 Vuex store 配置中加入以下内容:

plugins: [
  createPersistedState({
    key: 'myApp'
  })
],

这样,所有状态对象都会被存储在 localStorage 中,但是键名称为 myApp

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:利用vuex-persistedstate将vuex本地存储实现 - Python技术站

(0)
上一篇 2023年5月27日
下一篇 2023年5月27日

相关文章

  • Vue privide 和inject 依赖注入的使用详解

    Vue中,provide和inject是实现依赖注入的两个函数。在组件树中,父组件可以通过provide提供一些数据或方法,子组件可以通过inject来注入这些数据或方法。 在使用provide向下传递时,我们可以把需要传下去的属性或方法放在一个对象中。如下面的例子: // Parent.vue <template> <div> &l…

    Vue 2023年5月27日
    00
  • vue.js实现简单计时器功能

    下面是关于“vue.js实现简单计时器功能”的完整攻略: 第一步:创建Vue实例 在HTML文件中,除了引入Vue.js,还需要新建一个div作为Vue实例的挂载点,并在JavaScript中创建Vue实例。Vue实例需要定义data、methods、computed属性。其中,data定义属性名和初始值;methods定义方法,并在其中使用this来访问属…

    Vue 2023年5月29日
    00
  • Vue加载组件、动态加载组件的几种方式

    当使用Vue框架进行开发时,可能会遇到需要动态加载组件的情况。Vue框架提供了一些方式来满足这种需求。 加载组件的几种方式 1. 直接注册组件 Vue框架提供了全局注册和局部注册两种方式。 1.1 全局注册方式 在全局注册中,通过 Vue.component() 方法注册组件。这种方式适用于组件会在项目的不同位置多次使用。 // 定义组件: todo-lis…

    Vue 2023年5月29日
    00
  • 如何利用vue展示.docx文件、excel文件和csv文件内容

    展示Word文档的步骤 在Vue项目中,我们可以使用js的库jszip和docxtemplater来解析Word文档中的数据。 安装依赖库 在终端输入以下命令安装依赖库: npm install jszip docxtemplater –save 解析Word文档 将Word文档解析成json格式的数据: import JSZip from ‘jszip’…

    Vue 2023年5月28日
    00
  • Vue新手指南之创建第一个vue-cli脚手架程序

    下面是完整的攻略。 准备工作 在开始创建vue-cli脚手架程序之前,需要确保已经安装了以下几个工具: Node.js:Vue框架基于Node.js运行,因此需要先安装Node.js(建议安装LTS版本) npm:Node.js自带的包管理工具,也是Vue框架所依赖的包管理工具。一般情况下,安装Node.js之后npm也会一并安装。 创建项目 第一步,打开命…

    Vue 2023年5月27日
    00
  • 使用Vue开发自己的Chrome扩展程序过程详解

    使用Vue开发自己的Chrome扩展程序 开发Chrome扩展程序可以用于个性化配置Chrome浏览器功能,同时也是Chrome浏览器生态中非常重要的一部分。本篇文章将会向你详细讲解如何使用Vue开发自己的Chrome扩展程序。 准备工作 首先,需要安装最新版的Node.js和 Vue CLI工具。安装完成后,使用以下命令创建一个基于 Vue 的 Chrom…

    Vue 2023年5月27日
    00
  • vue项目中使用vue-layer弹框插件的方法

    以下是关于Vue项目中使用vue-layer弹框插件的方法的完整攻略: 1. 下载vue-layer 在Vue项目中使用vue-layer弹框插件之前,首先需要下载vue-layer。可以通过npm包管理器来下载。 npm install vue-layer –save 在安装完成后,可以通过以下方式引入和使用vue-layer弹框。 2. 引入vue-l…

    Vue 2023年5月28日
    00
  • Vuerouter的beforeEach与afterEach钩子函数的区别

    VueRouter是Vue.js官方提供的一个轻量级路由管理器,提供了统一的路由配置、路由匹配和导航。VueRouter中提供了beforeEach和afterEach两个路由钩子函数,在路由跳转时可以使用这两个钩子函数实现相应的操作。 beforeEach钩子函数 beforeEach钩子函数会在路由跳转之前执行,可以实现一些前置操作,比如全局身份验证、路…

    Vue 2023年5月28日
    00
合作推广
合作推广
分享本页
返回顶部