首先简单了解一下什么是Vuex?

Vuex是一个专为Vue.js应用程序开发的状态管理模式。采用集中式存储来管理应用所有组件的状态。

以下是对vuex的使用的简单介绍:

一、安装

  npm i vuex -S    安装Vuex

  npm i js-cookie  安装cookies,Vuex刷新后数据清空需要储存至本地

二、创建仓库,目录:/src/store/store.js

// store/store.js
// store.js就是你的仓库  数据都在这里
import Vue from "vue";
import Vuex from "vuex"; // 储存数据太多时用一个js专门存放封装函数,这里创建一个auth.js
// 这里只是举例setUserinfo,getUserinfo ,用作今天的demo,对应auth.js中的方法
// 为了方便展示这里先直接带入各种数据写进demo中
import { setUserinfo, getUserinfo } from "@/utils/auth"; Vue.use(Vuex); // 导出
export const store = new Vuex.Store({
  // state 状态,说简单点就是维护的数据
  state: {
    userInfo: getUserinfo() || null
  },
  // getters,对仓库的值进行一定的修正,类似于组件里面的 computed
  // getters,里面的方法默认接收一个参数:当前仓库的状态值
 // 后面通过getter 进行数据获取
  getters: { userInfo: state => state.userInfo },
  // mutations 修改器,用于修改state中的定义的状态变量,同步
  mutations: {
    SET_USERINFO: (state, userInfo) => {
      state.userInfo = userInfo;
      setUserinfo(userInfo);
    }
  },
  // action,存放异步操作,由 action 去触发 mutation
  actions: {
    setUserinfo({ commit }, info) {
      commit("SET_USERINFO", info);
    }
  }
});

三、在main.js全局配置文件内引入Vuex

// main.js
import Vue from "vue";
import App from "./App";
import router from "./router";
import { store } from "./store/store"; // 引入仓库
Vue.config.productionTip = false; /* eslint-disable no-new */
new Vue({
el: "#app",
router,
store,
components: { App },
template: "<App/>"
});

四、auth.js,将数据存在cookies

import Cookies from "js-cookie";

export function getUserinfo() {
return Cookies.get("userinfo");
} export function setUserinfo(userinfo) {
return Cookies.set("userinfo", userinfo);
}

这样一套完整的Vuex就已经成型了,接下来就是调用和设置

五、设置state

// 同步,调用store中mutations
this.$store.commit('SET_USERINFO',{name:'ZhangSan'})
// 异步,调用store中actions
this.$store.dispatch('setUserinfo',{name:'LiSi'})

六、获取state

  this.$store.state.userInfo  //  直接获取

  this.$store.getters.userInfo  // 通过getters获取

Vuex项目实战store的更多相关文章

  1. vue项目实战

    本篇文章主要介绍了vue的环境配置,vue项目的目录结构以及在开发vue项目中问题的一些解决方案. 环境配置及目录结构 1.安装node.js(http://www.runoob.com/nodejs ...

  2. 项目实战8—tomcat企业级Web应用服务器配置与会话保持

    tomcat企业级Web应用服务器配置与实战 环境背景:公司业务经过长期发展,有了很大突破,已经实现盈利,现公司要求加强技术架构应用功能和安全性以及开始向企业应用.移动APP等领域延伸,此时原来开发w ...

  3. React Native 项目实战-Tamic

    layout: post title: React Native 项目实战 date: 2016-10-18 15:02:29 +0800 comments: true categories: Rea ...

  4. 浅谈 Angular 项目实战

    为什么使用 Angular 我不是 Angular 的布道者,但如今痴迷 Angular,使用 Angular 做项目让我有一种兴奋感.目前的三大主流前端框架都研究过,博客中也有三者的相关教程,最早接 ...

  5. 【.NET Core项目实战-统一认证平台】第十一章 授权篇-密码授权模式

    [.NET Core项目实战-统一认证平台]开篇及目录索引 上篇文章介绍了基于Ids4客户端授权的原理及如何实现自定义的客户端授权,并配合网关实现了统一的授权异常返回值和权限配置等相关功能,本篇将介绍 ...

  6. 【.NET Core项目实战-统一认证平台】第八章 授权篇-IdentityServer4源码分析

    [.NET Core项目实战-统一认证平台]开篇及目录索引 上篇文章我介绍了如何在网关上实现客户端自定义限流功能,基本完成了关于网关的一些自定义扩展需求,后面几篇将介绍基于IdentityServer ...

  7. 深入浅出的webpack4构建工具--webpack4+vue+route+vuex项目构建(十七)

    阅读目录 一:vue传值方式有哪些? 二:理解使用Vuex 三:webpack4+vue+route+vuex 项目架构 回到顶部 一:vue传值方式有哪些? 在vue项目开发过程中,经常会使用组件来 ...

  8. 项目实战8.1—tomcat企业级Web应用服务器配置与会话保持

    分类: Linux架构篇   tomcat企业级Web应用服务器配置与实战 环境背景:公司业务经过长期发展,有了很大突破,已经实现盈利,现公司要求加强技术架构应用功能和安全性以及开始向企业应用.移动A ...

  9. 新书上线:《Spring Boot+Spring Cloud+Vue+Element项目实战:手把手教你开发权限管理系统》,欢迎大家买回去垫椅子垫桌脚

    新书上线 大家好,笔者的新书<Spring Boot+Spring Cloud+Vue+Element项目实战:手把手教你开发权限管理系统>已上线,此书内容充实.材质优良,乃家中必备垫桌脚 ...

随机推荐

  1. C#制作Wincc组件进行配方管理

    1,安装WinccV7.4并破解: 安装WinccV7.4SP1. 安装授权文件---根据提示 安装免狗驱动,根据提示 安装SImatic.net v13. 2,连接PLC, 首先在同一个局域网里面, ...

  2. 多线程笔记 - Master-Worker

    多线程的 Master-Worker 从字面上也是可以理解的. Master 相当于领导, 一个就够了, 如果是多个, 那么听谁的, 是个大问题. Master负责指派任务给 Worker. 然后对每 ...

  3. golang单元测试简述

      Golang中内置了对单元测试的支持,不需要像Java一样引入第三方Jar才能进行测试,下面将分别介绍Golang所支持的几种测试: 一.测试类型   Golang中单元测试有功能测试.基准测试. ...

  4. Android Studio 学习笔记(四):Adapter和RecyclerView说明

    在现版本中,滚动控件有多种,而相比于ListView,GridView,RecyclerView的用途更广,因此将前两者作为Adapter适配器的引入,再对RecyclerView进行简单讲解. MV ...

  5. nCompass-产品配置基础

    nCompass-产品配置基础 设备上架后,浏览器登陆设备的管理IP,输入用户名和密码, 登入进入视图展示页面 1. 添加许可 新设备上架之后,要添加许可方能使用. 步骤: 系统设置 --- 许可-- ...

  6. 今天带来compass的使用方式

    一.为什么我们要使用compass呢 Experience cleaner markup without presentational classes. It’s chock full of the ...

  7. SpringCloud踩坑

    今天在使用 SpringCloud 时遇到了一个问题,感觉有不少小伙伴会遇到,所以记录下来 版本说明 SpringBoot 2.2.4.RELEASE SpringCloud Greenwich.SR ...

  8. 剑指offer-面试题32-分行从上到下打印二叉树-二叉树遍历

    /* 题目: 分行按层自上向下打印二叉树. */ /* 思路: 使用队列,将节点压入队列中,再弹出来,压入其左右子节点,循环,直到栈为空. 添加两个计数器,current记录当前行的节点数,next记 ...

  9. 吴裕雄--天生自然HADOOP操作实验学习笔记:hbase微博案例

    实验目的 熟悉hbase表格设计的方法 熟悉hbase的javaAPI 通过API理解掌握hbase的数据的逻辑视图 了解MVC的服务端设计方式 实验原理 上次我们已经初步设计了学生选课案例的,具体功 ...

  10. C#中调用Windows系统服务exe程序的工具类与重启服务的流程

    场景 使用C#编写的Windows服务程序,在Winform中进行调用. 常用工具类方法检测服务是否存在或者安装,获取服务状态,启动服务,停止服务的方法. 以在Winform中重启服务为例. 注: 博 ...