1.新建一个store文件夹,新建index.js文件,内容如下:

import Vue from 'vue'
import Vuex from 'vuex'
import state from './state'
import mutations from './mutations'
import * as getters from './getters'
import * as actions from './actions' Vue.use(Vuex)
export default new Vuex.Store({
state,
mutations,
actions,
getters
});

2.新建state.js文件,内容如下:

const  state={
sysname:{
name:"张三",
age:"210",
},
/异步请求的数据
datatest:{ }
}
export default state

3.新建mutation-type.js,内容如下:

export const SYSNAME = 'SYSNAME';

export const DATATEST = 'DATATEST';

4.新建mutation.js,内容如下:

import * as type from './mutation-types'
const mutations = {
[type.SYSNAME](state, value) {
    state.sysname= value;
}, //异步
[type.DATATEST](state, value) {
state.datatest= value;
},
}; export default mutations;

5.新建getters.js,内容如下:

vuex 中的getters 想当于vue中的compute

getters是vuex 中的计算属性 ,计算属性写起来是方法,但它是个属性

export const sysname = state => state.sysname;

export const datatest = state => state.datatest;

6.新建actions.js,内容如下:

import * as type from './mutation-types'
import { actionTest } from '../https/api'
// import state from './state'
// 可以通过 state.userInfo.orgId,获取state中的值 export const getTest = function({ commit }) {
actionTest({
// key :value,
// key :value 你携带的参数
}).then((res) => {
if(res.success) {
console.log(res.data );
//要去触发mutation,只能够通过commit;
commit(type.DATATEST, res.data)
}
})
}

7.在入口文件main.js中使用:

import store from './store';
window.vm = new Vue({
el:'#app',
store,
router,
i18n,
render: c => c(App)
})

8在页面使用

<div> {{sysname}}</div>

<div  @click="change" class="awit-check">
改变值
</div> <div @click="action" class="awit-check">
异步
</div>
<div class="awit-check">
异步的数据{{ datatest }}
</div> import { mapMutations, mapGetters } from "vuex"
//通过mapGetters 辅助函数来取值 methods:{
change(){
console.log( this.sysname)
let sysnameInt= this.sysname;//将不需要修改的数据先取出来,
this.changesysname({
name:'数据改为123', //key是state中的,value是你要保存的值
age:sysnameInt.age, //取出来后,然后塞进去;
})
},
//发送异步请求,
action(){
//要去触发action,只能够通过dispacth去触发的哈~;
this.$store.dispatch('getTest');//触发action中的方法
} //mapMutations 写在methods的最后面,他是用来修改值的哈~;
//调用changesysname 方法去修改值;
//SYSNAME必须跟mutation.js 中的 [type.SYSNAME]这里的(SYSNAME)的保持一致;
...mapMutations({
changesysname:'SYSNAME',
})
}, computed:{
//mapGetters来取值,通过this.sysname就可以取值了
...mapGetters(['sysname','datatest'])
},

vuex标准化看这篇文章就够了~的更多相关文章

  1. Vue开发入门看这篇文章就够了

    摘要: 很多值得了解的细节. 原文:Vue开发看这篇文章就够了 作者:Random Fundebug经授权转载,版权归原作者所有. 介绍 Vue 中文网 Vue github Vue.js 是一套构建 ...

  2. 干货|工作中要使用Git,看这篇文章就够了

    本文将从 Git 入门到进阶.由浅入深,从常用命令.分支管理.提交规范.vim 基本操作.进阶命令.冲突预防.冲突处理等多方面展开,足以轻松应对工作中遇到的各种疑难杂症,如果觉得有所帮助,还望看官高抬 ...

  3. 数据可视化之PowerQuery篇(四)二维表转一维表,看这篇文章就够了

    https://zhuanlan.zhihu.com/p/69187094 数据分析的源数据应该是规范的,而规范的其中一个标准就是数据源应该是一维表,它会让之后的数据分析工作变得简单高效. 在之前的文 ...

  4. 还不会Traefik?看这篇文章就够了!

    文章转载自:https://mp.weixin.qq.com/s/ImZG0XANFOYsk9InOjQPVA 提到Traefik,有些人可能并不熟悉,但是提到Nginx,应该都耳熟能详. 暂且我们把 ...

  5. 想让安卓app不再卡顿?看这篇文章就够了

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由likunhuang发表于云+社区专栏 实现背景 应用的使用流畅度,是衡量用户体验的重要标准之一.Android 由于机型配置和系统的 ...

  6. 微信小程序获取手机号码看这篇文章就够了

    前言 微信小程序获取手机号码,从官方文档到其他博主的文档 零零散散的 (我就是这样看过来 没有一篇满意的 也许是我搜索姿势不对) 依旧是前人栽树 后人乘凉 系列.保证看完 就可以实现获取手机号码功能 ...

  7. 关于CompletableFuture的一切,看这篇文章就够了

    文章目录 CompletableFuture作为Future使用 异步执行code 组合Futures thenApply() 和 thenCompose()的区别 并行执行任务 异常处理 java中 ...

  8. 想要彻底搞懂大厂是如何实现Redis高可用的?看这篇文章就够了!(1.2W字,建议收藏)

    高可用HA(High Availability)是分布式系统架构设计中必须考虑的因素之一,它通常是指,通过设计减少系统不能提供服务的时间. 假设系统一直能够提供服务,我们说系统的可用性是100%.如果 ...

  9. Kafka面试,看这篇文章就够了

    原文链接:https://mp.weixin.qq.com/s/zxPz_aFEMrshApZQ727h4g** 引言 MQ(消息队列)是跨进程通信的方式之一,可理解为异步rpc,上游系统对调用结果的 ...

  10. 讲真,MySQL索引优化看这篇文章就够了

    本文主要讨论MySQL索引的部分知识.将会从MySQL索引基础.索引优化实战和数据库索引背后的数据结构三部分相关内容,下面一一展开. 一.MySQL——索引基础 首先,我们将从索引基础开始介绍一下什么 ...

随机推荐

  1. grpc双向流究竟是什么情况?2段代码告诉你

    摘要:为什么需要grpc双向流? 本文分享自华为云社区<grpc双向流究竟是什么情况?2段代码告诉你>,作者:breakDawn. 为什么需要grpc双向流? 有时候请求调用和返回过程,并 ...

  2. vue2升级vue3:vue3创建全局属性和方法

    vue2.x挂载全局是使用Vue.prototype.$xxxx=xxx的形式来挂载,然后通过this.$xxx来获取挂载到全局的变量或者方法 在vue3.x这种方法显然是不行了,vue3中在setu ...

  3. 一文读懂配置管理(CM)

    配置管理(Configuration Management),是一个用于建立和维护产品性能.功能和物理属性,并与其需求.设计和操作信息在整个生命周期内保持一致的系统工程. 配置管理是 ITIL(Inf ...

  4. ThreadLocal 本地线程变量详解

    概述 ThreadLocal 意为本地线程变量,即该变量只属于当前线程,对其他线程隔离 我们知道,一个普通变量如果被多线程访问会存在存在线程安全问题,这时我们可以使用 Synchronize 来保证该 ...

  5. selenium 开源UI测试工具

    简介 selenium是一个用于Web应用程序测试的工具.selenium测试直接运行于浏览器网页上,可以模拟用户操作网页.支持的浏览器包括IE(7, 8, 9, 10, 11),Mozilla Fi ...

  6. 围绕ChatGPT,做了点小事,赚了点小钱

    大家好,我是章北海mlpy 作为 ChatGPT 日活用户,分享一下经验和用它做的一些小事吧. 经验不敢当,只是觉得大家把ChatGPT当成了高大上的黑科技,其实它就是个工具,就像你买了个新手机一样, ...

  7. L2-012 关于堆的判断 (25分) (字符串處理)

    将一系列给定数字顺序插入一个初始为空的小顶堆H[].随后判断一系列相关命题是否为真.命题分下列几种: x is the root:x是根结点: x and y are siblings:x和y是兄弟结 ...

  8. 每天学五分钟 Liunx 0001 | 存储篇:swap

    swap swap ,内存交换空间,它是磁盘上的一块空间,主要作用是为了防止物理内存不足. CPU 从内存中读取数据.当内存的空间不足时, CPU 难以读取到数据,导致程序无法正常工作.所以诞生了 s ...

  9. offline RL | ABM:从 offline dataset 的好 transition 提取 prior policy

    ICLR 2020,6 6 6. 材料: 论文题目:Keep Doing What Worked: Behavior Modelling Priors for Offline Reinforcemen ...

  10. 26-IP调用 - PLL

    1.PLL IP核简介 PLL(Phaze Locked Loop)锁相环是最常用的IP核之一,其性能强大,可以对输入到FPGA的时钟信号进行任意的分频.倍频.相位调整.占空比调整,从而输出一个期望时 ...