1、安装vuex扩展 : npm install vuex

2、在componets目录下新建 store.js 文件

import Vue from 'vue'
import Vuex from 'vuex' Vue.use(Vuex) // 定义初始值
const state = {
num: 0
} // 获取变量值
const getters = {
num: state => state.num
} //定义触发状态对象方法,传入state整个对象
//在页面中触发时使用this.$store.commit('mutationName') 触发Mutations方法改变state的值
const mutations = {
plus(state, num) {
state.num += num;
},
minus(state, num) {
state.num -= num;
}
} //异步执行方法,传入参数context,等同于整个store
//处理Mutations中已经写好的方法 在页面中触发方式是 this.$store.dispatch(actionName)
const actions = {
plus({commit}, num) {
// 调用mutations 方法
commit('plus', num)
},
minus({commit}, num) {
commit('minus', num)
}
} export default new Vuex.Store({
state,
mutations,
actions,
getters
}) /**
* 定义多个模块
* 定义一个模块,引入各个状态对象或方法
*/ // Const moduleA = {
// state,
// mutations,
// getters,
// actions
// } /**
* 引如多个模块
*/
// export default new Vuex.Store ({
// modules : {
// a : moduleA //引入定义模块
// }
// })

  属性值介绍:

  state:定义初始值

  getters:获取变量值

  mutations: 定义触发状态对象方法,传入state整个对象,在页面中触发时使用this.$store.commit('mutationName') 触发Mutations方法改变state的值

  actions:异步执行方法,传入参数context,等同于整个store,处理Mutations中已经写好的方法 在页面中触发方式是 this.$store.dispatch(actionName)

3、在main.js 里添加引入store.js 代码

// 引入sotre.js
import store from './components/store.js' new Vue({
store,  // store对象
el: '#app',
router,
render: h => h(App)
});

4、新建 TestVuex.vue

<template>
<div class="testVuex">
<div>{{num}}</div>
<button @click="plus">加2</button>
<button @click="minus">加3</button>
</div> </template> <script> import {mapGetters} from 'vuex' export default {
name: 'testVuex',
//computed 实时计算 Vue检测到数据发生变动时就会执行对相应数据有引用的函数。
computed: {
...mapGetters([
'num' // store.js 里定义num值
])
},
methods:{
// 调用store.js 里actions定义的方法
plus:function() {
this.$store.dispatch('plus', 2);
},
minus:function() {
this.$store.dispatch('minus', 3);
}
},
data () {
return {
}
}
} </script>

5、效果预览

  

vuex 使用方法的更多相关文章

  1. vuex 引用方法

    引入Vuex(前提是已经用Vue脚手架工具构建好项目) 1.利用npm包管理工具,进行安装 vuex.在控制命令行中输入下边的命令就可以了. npm install vuex --save 要注意的是 ...

  2. 浅谈vuex使用方法(vuex简单实用方法)

    Vuex 是什么? Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式.它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化.Vuex 也集成到 Vu ...

  3. vuex使用方法

    vuex是一个专门为vue.js设计的集中式状态管理架构.状态?我把它理解为在data中的属性需要共享给其他vue组件使用的部分,就叫做状态.简单的说就是data中需要共用的属性.比如:我们有几个页面 ...

  4. Vuex 源码学习(一)

    (一)Vuex 是什么? Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式.它采用集中式存储管理应用的所有组件的状态, 并以相应的规则保证状态以一种可预测的方式发生变化. —— 来自 V ...

  5. element-ui+vuex共享自定义方法进行表单验证 validator

    element-ui的官网上写的自定义表单验证,方法都是写在单vue文件中的,不容易共享.怎么使用vuex将方法共享出来,各个组件都能用呢? 如下是一个验证age的数据, rules:{ age:[{ ...

  6. Vuex笔记

    Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式 Vuex - 状态管理器,可以管理你的数据状态(类似于 React的 Redux) 一个 Vuex 应用的核心是 store(仓库,一个 ...

  7. vuex数据管理-数据共享

    应用场景 提供一个地址省市区地址联动操作的应用场景:在地址管理的地址修改.地址添加.选择送货区域等逻辑中,会用到该联动picker.在地址picker操作中,需要请求省份列表,下面以省份列表的操作为例 ...

  8. vuex实例详解

    vuex是一个专门为vue.js设计的集中式状态管理架构.状态?把它理解为在data中的属性需要共享给其他vue组件使用的部分. 简单的说就是data需要共用的属性 一.小demo 已经用Vue脚手架 ...

  9. 【21】vuex 与element iu表单校验

    转:http://www.cnblogs.com/gsgs/p/6753682.html element-ui的官网上写的自定义表单验证,方法都是写在单vue文件中的,不容易共享.怎么使用vuex将方 ...

随机推荐

  1. SDK Manager中勾选项

    运行SDK Manager 勾选对应版本的SDK,从这里基本可以知道一个Android版本对应着一个版本的API. 其中每个包都有这么几个文件: Documentation for Android S ...

  2. C++中对类的提前引用声明注意事项

    //或许,友元是VC++6.0心里永远的痛,对于这个BUG我一直很介意.//注:这个程序在VC++6.0里是行不通的,在VS2008里是可以的.#include <iostream> #i ...

  3. rkhunter和chkrootkit

    今天继续检查我的Linux,所以下来rkhunter和chkrootkit一个一个来,下面只记录命令,少些说明不截图了. 1.rkhunter #cd /temp #wget http://downl ...

  4. Batch Normalization层

    Batch Normalization的加速作用体现在两个方面:一是归一化了每层和每维度的scale,所以可以整体使用一个较高的学习率,而不必像以前那样迁就小scale的维度:二是归一化后使得更多的权 ...

  5. MongoDB Oplog

    Capped Collections MongoDB有一种特殊的Collection叫Capped collections,它的插入速度非常快,基本和磁盘的写入速度差不多,并且支持按照插入顺序高效的查 ...

  6. 蓝桥杯校内选拔赛/POJ 数独(深搜)

    Sudoku Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 14530   Accepted: 7178   Special ...

  7. 三、mysql登录详解及版本号查询

    1.用window+r,输入cmd,用mysql -uuser -ppassword登录时出现‘mysql’不是有效的内部命令? 答:这是因为没有配置MySQL的环境变量path所致. MySQL的环 ...

  8. SecureCRT rz上传文件失败

    SecureCRT 将 Windows 上的文件传至 Linux 端,小的文件没有问题能够正常上传,但是对于几百M的文件往往上传过程中失败. 解决办法:使用 rz -be,并且去掉对话框中" ...

  9. java:calendar类及一些比较实用的utils(二)

    在这里将我在项目中用到的一些关于使用Calendar的utils分享出来,只是一部分,后期遇到好的通用方法会继续添加,以和大家交流学习,如果你还不熟悉这个类的使用,但是急需某个util,可以加群:41 ...

  10. 利用PDF.JS插件解决了本地pdf文件在线浏览问题(根据需要隐藏下载功能,只保留打印功能)

    我是在IE11和谷歌上做的测试,都可以显示,把做出的东西记录下来,方便大家还有自己学习! 可以在IIS7服务器上也可以下载Tomcat来做服务器 Tomcat下载地址   http://pan.bai ...