项目代码结构↓

src内容↓

store内容↓

理解思路: component中的组件发送修改请求,由action.js处理请求,mutation修改请求,修改请求后state改变,从getter.js中可获取更新后的state中的数据。

state.js中为初始数据

const state={
count:0
}; export default state;

action.js中的内容

import * as types from './types';

const actions={
increment:({
commit,state
},payload)=>{
// alert(payload);
payload=payload||1;
commit(types.INCREMENT,payload);
},
decrement:({
commit,state
})=>{
commit(types.DECREMENT);
},
async:({
commit,state
})=>{
setTimeout(()=>{//请求数据
commit(types.INCREMENT);
},1000);
},
odd:({
commit,state
})=>{
if(state.count % 2 == 0){
commit(types.INCREMENT);
}
}
}; export default actions;

mutation.js的内容

import {
INCREMENT,
DECREMENT
} from './types'; const mutations={
[INCREMENT]:(state,payload)=>{
// alert(payload);
payload=payload||1;
state.count+=payload;
},
[DECREMENT]:(state)=>{
state.count--;
}
}; export default mutations;

type.js的内容

export const INCREMENT='INCREMENT'; //加  描述
export const DECREMENT='DECREMENT'; //减 描述

getter.js的内容

const getters={
count:(state)=>{
return state.count;
}
}; export default getters;

在App.vue(或其他组件)中获取、修改state中的状态↓

<template>
<div id="app">
<h1>vuex</h1>
<input type="button" value="+" @click="increment(2)">
<input type="button" value="-" @click="decrement">
<input type="button" value="异步+" @click="async">
<input type="button" value="偶数+" @click="odd">
<br/>
越过getters向state拿:{{$store.state.count}}
<br/>
{{count}}/{{count%2==0?'双数':'单数'}}
<br/>
<input type="button" value="修改私有数据" @click="check">
<br/>
{{n}}
</div>
</template> <script>
import {mapActions,mapGetters} from 'vuex';
export default {
name: 'app',
data () {
return {
n:0
}
},
methods:{ // 私有方法和 请求并存
check(){
this.n='bmw';
},
...mapActions(
['increment','decrement','async','odd']
)

},
computed:mapGetters(
['count']
),
mounted(){
//代码里面直接发请求 actions
// this.$store.dispatch('increment',121); //代码里面直接发请求 mutations
// this.$store.commit('INCREMENT',['apple','banana','orange','西游记']); }
}
</script> <style> </style>

  

vuex使用示例的更多相关文章

  1. 超简单入门Vuex小示例

    写在前面 本文旨在通过一个简单的例子,练习vuex的几个常用方法,使初学者以最快的速度跑起来一个vue + vuex的示例. 学习vuex需要你知道vue的一些基础知识和用法.相信点开本文的同学都具备 ...

  2. vuex简单示例

    一.vuex是什么,解决了什么问题? 官方解释是:Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式.它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生 ...

  3. vue全家桶+Koa2开发笔记(1)--vuex

    1.  安装webpack的问题: webpack坑系列--安装webpack-cli 2.  vue-cli(vue脚手架)超详细教程 3.  在命令行中使用 touch 执行新建文件: 4.  关 ...

  4. 通俗理解vuex原理---通过vue例子类比

    本文主要通过简单的理解来解释下vuex的基本流程,而这也是vuex难点之一. 首先我们先了解下vuex的作用 vuex其实是集中的数据管理仓库,相当于数据库mongoDB,MySQL等,任何组件都可以 ...

  5. vuex的简单例子和vue model组件

    好久没用过vuex了,vuex官方示例的计算器counter是用的webpack打包了单文件组件,不方便回顾,今天把代码改成了html引人的方式,方便回顾 <!DOCTYPE html> ...

  6. 举个例子去理解vuex(状态管理),通俗理解vuex原理,通过vue例子类比

    通俗理解vuex原理---通过vue例子类比   本文主要通过简单的理解来解释下vuex的基本流程,而这也是vuex难点之一. 首先我们先了解下vuex的作用vuex其实是集中的数据管理仓库,相当于数 ...

  7. 快速理解 VUEX 原理

    1. vuex 的作用: vuex其实是集中的数据管理仓库,相当于数据库mongoDB,MySQL等,任何组件都可以存取仓库中的数据. 2. vuex 流程和 vue 类比: 我们看一下一个简单的vu ...

  8. vuex2.0+两个小例子

    首先vuex概念比较多,一定要搞懂里面的概念,可以参考官网Vuex2.0概念,我写此文的目的是希望能对前端爱好者提供个参考,加深对vuex2.0各核心概念的理解. 废话少说,直接上干货.这是官网上的一 ...

  9. vuex-Actions的用法

    Action 类似于 mutation,不同在于: Action 提交的是 mutation,而不是直接变更状态. Action 是异步的,mutation是同步的. 沿用vuex学习---简介的案例 ...

随机推荐

  1. 第七篇-列表式App:ListActivity及ListView

    一.新建一个empty activity的项目. 二.修改MainActivity.java: extends AppCompactActivity改为extends ListActivity.注释掉 ...

  2. 改xml

    <?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android=" ...

  3. python之OpenCv(二)---保存图像

    1.使用opencv保存图像 cv2.imwrite(存储路径,图像变量[,存盘标识]) 存盘标识: cv2.CV_IMWRITE_JPEG_QUALITY  设置图片格式为.jpeg或者.jpg的图 ...

  4. windows下ngnix+php配置

    1.需要工具: 下载ngnix  网址:http://nginx.org/ 下载:RunHiddenConsole 第二步 将下载文件解压后,将RunHiddenConsole拷贝到ngnix目录与p ...

  5. (最小生成树) codeVs 1231 最优布线问题

    题目描述 Description 学校需要将n台计算机连接起来,不同的2台计算机之间的连接费用可能是不同的.为了节省费用,我们考虑采用间接数据传输结束,就是一台计算机可以间接地通过其他计算机实现和另外 ...

  6. LoRa网关/RAK831

    Semtech SX1301 同时在不同的信道上接收数据 RAK831 能够在不同信道上同时接收多达 8 个同时发送不同扩频因子的 LoRa 数据 包

  7. 如何重置mysql中的root密码

    方法一: 在my.ini的[mysqld]字段加入:skip-grant-tables重启mysql服务,这时的mysql不需要密码即可登录数据库 然后进入mysqlmysql>use mysq ...

  8. bzoj2819 DFS序 + LCA + 线段树

    https://www.lydsy.com/JudgeOnline/problem.php?id=2819 题意:树上单点修改及区间异或和查询. 思维难度不高,但是题比较硬核. 整体思路是维护每一个结 ...

  9. OS + Windows 10 / office excel vlookup / CredSSP

    s https://support.microsoft.com/zh-cn/help/10749/windows-10-find-product-key 查找 Windows 7 或 Windows ...

  10. Centos 7最小化Mongodb部署操作

    基本组件 mongodb-org mongodb-org-server mongodb-org-mongos mongodb-org-shell mongodb-org-tools 文件位置 /var ...