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 相关文章推荐
js下利用控制器载入对应脚本
Jul 17 Javascript
JQuery选择器特辑 详细小结
May 14 Javascript
javascript 得到文件后缀名的思路及实现
May 09 Javascript
简介JavaScript中strike()方法的使用
Jun 08 Javascript
D3.js封装文本实现自动换行和旋转平移等功能
Oct 14 Javascript
JS简单实现表格排序功能示例
Dec 20 Javascript
利用jQuery实现简单的拖曳效果实例代码
Oct 20 jQuery
微信小程序实现获取自己所处位置的经纬度坐标功能示例
Nov 30 Javascript
全站最详细的Vuex教程
Apr 13 Javascript
用vue快速开发app的脚手架工具
Jun 11 Javascript
ES6 Iterator遍历器原理,应用场景及相关常用知识拓展详解
Feb 15 Javascript
详解Vue3 Teleport 的实践及原理
Dec 02 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
PHP IE中下载附件问题解决方法
2014/01/07 PHP
CodeIgniter框架过滤HTML危险代码
2014/06/12 PHP
ThinkPHP CURD方法之page方法详解
2014/06/18 PHP
PHP.ini安全配置检测工具pcc简单介绍
2015/07/02 PHP
javascript中input中readonly和disabled区别介绍
2012/10/23 Javascript
JavaScript实现统计文本框Textarea字数增强用户体验
2012/12/21 Javascript
js+html+css实现鼠标移动div实例
2013/01/30 Javascript
用js来刷新当前页面保留参数的具体实现
2013/12/23 Javascript
node.js中的fs.readSync方法使用说明
2014/12/17 Javascript
javascript的BOM汇总
2015/07/16 Javascript
一种基于浏览器的自动小票机打印实现方案(js版)
2016/07/26 Javascript
微信小程序中页面FOR循环和嵌套循环
2017/06/21 Javascript
jQuery常见的遍历DOM操作详解
2018/09/05 jQuery
在vue里使用codemirror遇到的问题
2018/11/01 Javascript
ElementUI之Message功能拓展详解
2019/10/18 Javascript
vue实现浏览器全屏展示功能
2019/11/27 Javascript
js最全的数组的降维5种办法(小结)
2020/04/28 Javascript
[01:11:27]2018DOTA2亚洲邀请赛小组赛 A组加赛 Newbee vs Optic
2018/04/03 DOTA
使用Python编写简单的端口扫描器的实例分享
2015/12/18 Python
Python 读写文件和file对象的方法(推荐)
2016/09/12 Python
python2.7无法使用pip的解决方法(安装easy_install)
2018/04/03 Python
python3第三方爬虫库BeautifulSoup4安装教程
2018/06/19 Python
Django rest framework工具包简单用法示例
2018/07/20 Python
Python使用pymysql从MySQL数据库中读出数据的方法
2018/07/25 Python
解决安装python库时windows error5 报错的问题
2018/10/21 Python
Python使用type关键字创建类步骤详解
2019/07/23 Python
python中p-value的实现方式
2019/12/16 Python
Python+OpenCV实现将图像转换为二进制格式
2020/01/09 Python
TensorFlow2.1.0安装过程中setuptools、wrapt等相关错误指南
2020/04/08 Python
一款基于css3麻将筛子3D翻转特效的实例教程
2014/12/31 HTML / CSS
HTML5 Canvas中使用路径描画二阶、三阶贝塞尔曲线
2015/01/01 HTML / CSS
英国莱斯特松木橡木家具网上商店:Choice Furniture Superstore
2019/07/05 全球购物
个人充满哲理的自我评价
2014/02/20 职场文书
公司会议策划方案
2014/05/17 职场文书
我们的节日元宵节活动总结
2015/02/06 职场文书
青年志愿者活动感想
2015/08/07 职场文书