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 相关文章推荐
prototype 源码中文说明之 prototype.js
Sep 22 Javascript
JS面向对象、prototype、call()、apply()
May 14 Javascript
删除javascript中注释语句的正则表达式
Jun 11 Javascript
JS面向对象基础讲解(工厂模式、构造函数模式、原型模式、混合模式、动态原型模式)
Aug 16 Javascript
分享网页检测摇一摇实例代码
Jan 14 Javascript
js实现控制textarea输入字符串的个数,鼠标按下抬起判断输入字符数
Oct 25 Javascript
扩展jquery easyui tree的搜索树节点方法(推荐)
Oct 28 Javascript
使用Vue开发自己的Chrome扩展程序过程详解
Jun 21 Javascript
Vue中使用Lodop插件实现打印功能的简单方法
Dec 19 Javascript
antd 表格列宽自适应方法以及错误处理操作
Oct 27 Javascript
three.js中多线程的使用及性能测试详解
Jan 07 Javascript
详解Vue的七种传值方式
Feb 08 Vue.js
详解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
DIY一个适配电脑声卡的动圈话筒放大器
2021/03/02 无线电
编写php应用程序实现摘要式身份验证的方法详解
2013/06/08 PHP
php.ini修改php上传文件大小限制的方法详解
2013/06/17 PHP
PHP图片处理之使用imagecopyresampled函数裁剪图片例子
2014/11/19 PHP
PHP编程入门的基本语法知识点总结
2016/01/26 PHP
深入聊聊Array的sort方法的使用技巧.详细点评protype.js中的sortBy方法
2007/04/12 Javascript
jquery 插件 web2.0分格的分页脚本,可用于ajax无刷新分页
2008/12/25 Javascript
js获取系统的根路径实现介绍
2013/09/08 Javascript
JS判断两个时间大小的示例代码
2014/01/28 Javascript
js取得html iframe中的元素和变量值
2014/06/30 Javascript
javascript实现图片轮播效果
2016/01/20 Javascript
全面理解JavaScript中的继承(必看)
2016/06/16 Javascript
js检测离开或刷新页面时表单数据是否更改的方法
2016/08/02 Javascript
JavaScript学习笔记整理_简单实现枚举类型,扑克牌应用
2016/09/19 Javascript
运用js教你轻松制作html音乐播放器
2020/04/17 Javascript
bootstrap使用validate实现简单校验功能
2016/12/02 Javascript
addeventlistener监听scroll跟touch(实例讲解)
2017/08/04 Javascript
js实时监控文本框输入字数的实例代码
2018/01/18 Javascript
微信小程序实现语音识别转文字功能及遇到的坑
2019/08/02 Javascript
bootstrapValidator表单校验、更改状态、新增、移除校验字段的实例代码
2020/05/19 Javascript
微信小程序实现电影App导航和轮播
2020/11/30 Javascript
[02:17]TI4西雅图DOTA2前线报道 啸天mik夫妻档解说
2014/07/08 DOTA
在Python中使用matplotlib模块绘制数据图的示例
2015/05/04 Python
详解Python使用simplejson模块解析JSON的方法
2016/03/24 Python
30秒轻松实现TensorFlow物体检测
2018/03/14 Python
python数字图像处理之骨架提取与分水岭算法
2018/04/27 Python
python中时间、日期、时间戳的转换的实现方法
2019/07/06 Python
python支付宝支付示例详解
2019/08/22 Python
在Matplotlib图中插入LaTex公式实例
2020/04/17 Python
Python 使用SFTP和FTP实现对服务器的文件下载功能
2020/12/17 Python
城野医生官方海外旗舰店:风靡亚洲毛孔收敛水
2018/04/26 全球购物
Petmate品牌官方网站:宠物用品
2018/11/25 全球购物
如何打造一封优秀的留学推荐信
2014/01/25 职场文书
小学生读书活动总结
2014/06/30 职场文书
撤诉申请书法院范本
2015/05/18 职场文书
Nginx反向代理配置的全过程记录
2021/06/22 Servers