vuex的简单使用教程


Posted in Javascript onFebruary 02, 2018

什么是Vuex?

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

使用vuex进行组件间数据的管理

npm i vuex -S

main.js

import Vue from 'vue'
import App from './App.vue'
import store from './store.js'

new Vue({
 store,
 el: '#app',
 render: h => h(App)
})

store.js

import Vue from 'vue'
import Vuex from 'vuex'
Vue.use(Vuex)
// 这里定义初始值
let state = {
 count:10
};
const mutations = {
 add(context){
  context.count++
 },
 decrease(context){
  context.count--
 }
};
// 事件触发后的逻辑操作
// 参数为事件函数
const actions = {
 add(add){
  add.commit('add')
 },
 decrease(decrease){
  decrease.commit('decrease')
 },
 oddAdd({commit,state}){
  if (state.count % 2 === 0) {
   commit('add')
  }
 }
};
// 返回改变后的数值
const getters = {
 count(context){
  return context.count
 },
 getOdd(context) {
  return context.count % 2 === 0 ? '偶数' : '奇数'
 }
};
export default new Vuex.Store({
 state,
 mutations,
 actions,
 getters
})

App.vue

<template>
 <div id="app">
 <button @click="add">add</button>
 <button @click="decrease">decrease</button>
 <button @click="oddAdd">oddAdd</button>
 <div>{{count}}</div>
 <div>{{getOdd}}</div>
 </div>
</template>
<script>
import {mapGetters,mapActions} from 'vuex'
 export default {
  // 得到计算后的值
  computed:mapGetters(['count','getOdd']),
  // 发生点击事件触发不同函数
  methods:mapActions(['add','decrease','oddAdd'])
 }
</script>

vuex的简单使用教程

GitHub: https://github.com/wmui

总结

以上所述是小编给大家介绍的vuex的简单使用教程,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
jQuery html() in Firefox (uses .innerHTML) ignores DOM changes
Mar 05 Javascript
javascript在网页中实现读取剪贴板粘贴截图功能
Jun 07 Javascript
我的Node.js学习之路(二)NPM模块管理
Jul 06 Javascript
JS实现黑客帝国文字下落效果
Sep 01 Javascript
Angularjs使用directive自定义指令实现attribute继承的方法详解
Aug 05 Javascript
js 获取站点应用名的简单实例
Aug 18 Javascript
微信小程序 动态传参实例详解
Apr 27 Javascript
JavaScript实现的DOM树遍历方法详解【二叉DOM树、多叉DOM树】
May 07 Javascript
javascript实现手动点赞效果
Apr 09 Javascript
微信小程序结合Storage实现搜索历史效果
May 18 Javascript
浅谈JavaScript中你可能不知道URL构造函数的属性
Jul 13 Javascript
vue项目,代码提交至码云,iconfont的用法说明
Jul 30 Javascript
详解VueJS应用中管理用户权限
Feb 02 #Javascript
原生JS实现网页手机音乐播放器 歌词同步播放的示例
Feb 02 #Javascript
使用express+multer实现node中的图片上传功能
Feb 02 #Javascript
Vue多种方法实现表头和首列固定的示例代码
Feb 02 #Javascript
jquery.picsign图片标注组件实例详解
Feb 02 #jQuery
使用webpack打包koa2 框架app
Feb 02 #Javascript
Vue组件化开发思考
Feb 02 #Javascript
You might like
php的list()的一步操作给一组变量进行赋值的使用
2011/05/18 PHP
php生成圆角图片的方法
2015/04/07 PHP
PHP使用第三方即时获取物流动态实例详解
2017/04/27 PHP
实现png图片和png背景透明(支持多浏览器)的方法
2009/09/08 Javascript
Extjs407 getValue()和getRawValue()区别介绍
2013/05/21 Javascript
jquery实现的随机多彩tag标签随机颜色和字号大小效果
2014/03/27 Javascript
Javascript实现快速排序(Quicksort)的算法详解
2015/09/06 Javascript
最佳的JavaScript错误处理实践
2016/07/16 Javascript
Bootstrap树形菜单插件TreeView.js使用方法详解
2016/11/01 Javascript
深入理解vue.js中的v-if和v-show
2017/06/22 Javascript
Vue如何从1.0迁移到2.0
2017/10/19 Javascript
javascript回调函数详解
2018/02/06 Javascript
JavaScript动态加载重复绑定问题
2018/04/01 Javascript
详解vue 计算属性与方法跟侦听器区别(面试考点)
2018/04/23 Javascript
11个教程中不常被提及的JavaScript小技巧(推荐)
2019/04/17 Javascript
微信小程序如何再次获取用户授权的方法
2019/05/10 Javascript
Vue Extends 扩展选项用法完整实例
2019/09/17 Javascript
vue 中url 链接左边的小图标更改问题
2019/12/30 Javascript
详解ES6数组方法find()、findIndex()的总结
2020/05/12 Javascript
[50:58]2018DOTA2亚洲邀请赛3月29日 小组赛A组OpTic VS Newbee
2018/03/30 DOTA
python ElementTree 基本读操作示例
2009/04/09 Python
Python使用matplotlib绘制动画的方法
2015/05/20 Python
Python+pyplot绘制带文本标注的柱状图方法
2019/07/08 Python
Python使用Pandas库常见操作详解
2020/01/16 Python
python如何支持并发方法详解
2020/07/25 Python
荷兰网上鞋店:Ziengs.nl
2017/01/02 全球购物
Surfdome西班牙:世界上最受欢迎的生活方式品牌
2019/02/13 全球购物
外语系大学生自荐信范文
2014/03/01 职场文书
陈欧广告词
2014/03/14 职场文书
2014小学教师年度考核工作总结
2014/12/03 职场文书
证劵公司反洗钱宣传活动总结
2015/05/08 职场文书
运动会800米赞词
2015/07/22 职场文书
Python 机器学习工具包SKlearn的安装与使用
2021/05/14 Python
浅谈Web Storage API的使用
2021/06/23 Javascript
Mysql Innodb存储引擎之索引与算法
2022/02/15 MySQL
排查Tomcat进程假死的问题
2022/05/06 Servers