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 keypress,keyup,onpropertychange键盘事件
Jun 25 Javascript
实用的JS正则表达式(手机号码/IP正则/邮编正则/电话等)
Jan 11 Javascript
带左右箭头图片轮播的JS代码
Dec 18 Javascript
node.js express安装及示例网站搭建方法(分享)
Aug 22 Javascript
修改ligerui 默认确认按钮的方法
Dec 27 Javascript
纯js三维数组实现三级联动效果
Feb 07 Javascript
详解javascript 正则表达式之分组与前瞻匹配
May 30 Javascript
快速解决vue动态绑定多个class的官方实例语法无效的问题
Sep 05 Javascript
JS实现从对象获取对象中单个键值的方法示例
Jun 05 Javascript
js编写简易的计算器
Jul 29 Javascript
swiper4实现移动端导航栏tab滑动切换
Oct 16 Javascript
javascript实现数字时钟效果
Feb 06 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实现批量查询清除一句话后门的代码
2008/01/20 PHP
解决了Ajax、MySQL 和 Zend Framework 的乱码问题
2009/03/03 PHP
什么情况下可以不写PHP的闭合标签“?&gt;”
2014/08/28 PHP
Zend Framework教程之Zend_Db_Table_Row用法实例分析
2016/03/21 PHP
js indexOf()定义和用法
2012/10/21 Javascript
node.js中的fs.createWriteStream方法使用说明
2014/12/17 Javascript
jQuery中outerWidth()方法用法实例
2015/01/19 Javascript
jQuery实现页面滚动时动态加载内容的方法
2015/03/20 Javascript
JS利用正则表达式实现简单的密码强弱判断实例
2017/06/16 Javascript
jQuery+ajax实现修改密码验证功能实例详解
2017/07/06 jQuery
nodejs实现的连接MySQL数据库功能示例
2018/01/25 NodeJs
Python实现在Linux系统下更改当前进程运行用户
2015/02/04 Python
Python实现打印螺旋矩阵功能的方法
2017/11/21 Python
Python图像处理之简单画板实现方法示例
2018/08/30 Python
python字符串反转的四种方法详解
2019/12/02 Python
Python基于gevent实现高并发代码实例
2020/05/15 Python
Django-Scrapy生成后端json接口的方法示例
2020/10/06 Python
用python制作个音乐下载器
2021/01/30 Python
基于HTML5的WebGL实现json和echarts图表展现在同一个界面
2017/10/26 HTML / CSS
三年级音乐教学反思
2014/01/28 职场文书
应届大专毕业生自我鉴定
2014/04/08 职场文书
《吃水不忘挖井人》教学反思
2014/04/15 职场文书
公司合并协议书范本
2014/09/30 职场文书
2014年房地产工作总结范文
2014/11/19 职场文书
邀请书模板
2015/02/02 职场文书
北京导游词
2015/02/12 职场文书
小学教师自我评价
2015/03/04 职场文书
公路施工安全责任书
2015/05/08 职场文书
法人代表资格证明书
2015/06/18 职场文书
国家助学金受助感言
2015/08/01 职场文书
2016年暑假家长对孩子评语
2015/12/01 职场文书
MySql子查询IN的执行和优化的实现
2021/08/02 MySQL
python实现对doc、txt、xls等文档的读写操作
2022/04/02 Python
部分武汉产收音机展览
2022/04/07 无线电
baselines示例程序train_cartpole.py的ImportError
2022/05/20 Python
flex布局中使用flex-wrap实现换行的项目实践
2022/06/21 HTML / CSS