vuex的使用和简易实现


Posted in Vue.js onJanuary 07, 2021

这里记录一下vuex的使用和vuex的简易实现

首先创建对应的store目录和对应的入口index.js

import Vue from 'vue'
import Vuex from 'vuex'
import products from './modules/products'
import cart from './modules/cart'

Vue.use(Vuex)

export default new Vuex.Store({
 strict: process.env.NODE_ENV !== 'production',
 state: {
  count: 0,
  msg: 'Hello Vuex'
 },
 getters: {
  reverseMsg (state) {
   return state.msg.split('').reverse().join('')
  }
 },
 mutations: {
  increate (state, payload) {
   state.count += payload
  }
 },
 actions: {
  increateAsync (context, payload) {
   setTimeout(() => {
    context.commit('increate', payload)
   }, 2000)
  }
 },
 modules: {
  products,
  cart
 }
})
  • 首先注册vuex的插件
  • 开发阶段开启strict严格模式
  • 配置初始的state
  • 配置对应的getters
  • 配置对应的mutations 无副作用的函数更新
  • 配置actions在此做异步处理
  • 最后配置模块
  • 模块中配置:
const state = {}
const getters = {}
const mutations = {}
const actions = {}

export default {
 namespaced: true,
 state,
 getters,
 mutations,
 actions
}

配置模块命名空间namespaced:true 导入store时的模块名

使用的时候

vuex的使用和简易实现

可以 通过一些对应的vuex提供的方法把store中的对应属性和方法拿到组件中

vue父子通信

vuex的使用和简易实现

vuex的使用和简易实现

vuex的使用和简易实现

或者就是自定义 组件的 v-model

非父子组件:Event Bus
我们可以使用一个非常简单的 Event Bus 来解决这个问题:

vuex的使用和简易实现

vuex的使用和简易实现

vuex的使用和简易实现

还有一种需要注意的,外部props转换为内部state

name: 'ArticleMeta',
 props: {
  article: {
   type: Object,
   required: true
  },
  user: {
   type: Object
  }
 },
 data () {
  return {
   currentArticle: this.article, isDelete: false
  }
 },

以上就是vuex的使用和简易实现的详细内容,更多关于vuex的使用和实现的资料请关注三水点靠木其它相关文章!

Vue.js 相关文章推荐
ESLint 是如何检查 .vue 文件的
Nov 30 Vue.js
vue3.0实现插件封装
Dec 14 Vue.js
如何在vue-cli中使用css-loader实现css module
Jan 07 Vue.js
antdesign-vue结合sortablejs实现两个table相互拖拽排序功能
Jan 08 Vue.js
Vue实现一种简单的无限循环滚动动画的示例
Jan 10 Vue.js
vue-resource 拦截器interceptors使用详解
Jan 18 Vue.js
详解Vue.js 可拖放文本框组件的使用
Mar 03 Vue.js
Vue项目打包、合并及压缩优化网页响应速度
Jul 07 Vue.js
详解gantt甘特图可拖拽、编辑(vue、react都可用 highcharts)
Nov 27 Vue.js
vue实现滑动解锁功能
Mar 03 Vue.js
Vue.js中v-for指令的用法介绍
Mar 13 Vue.js
vue本地构建热更新卡顿的问题“75 advanced module optimization”完美解决方案
Aug 05 Vue.js
vue watch监控对象的简单方法示例
Jan 07 #Vue.js
vue.js watch经常失效的场景与解决方案
Jan 07 #Vue.js
通过vue.extend实现消息提示弹框的方法记录
Jan 07 #Vue.js
如何在vue-cli中使用css-loader实现css module
Jan 07 #Vue.js
vue3中轻松实现switch功能组件的全过程
Jan 07 #Vue.js
vue+elementui通用弹窗的实现(新增+编辑)
Jan 07 #Vue.js
详解Vue2的diff算法
Jan 06 #Vue.js
You might like
php创建多级目录的方法
2015/03/24 PHP
Linux系统递归生成目录中文件的md5的方法
2015/06/29 PHP
php实现异步将远程链接上内容(图片或内容)写到本地的方法
2016/11/30 PHP
PHP编程文件处理类SplFileObject和SplFileInfo用法实例分析
2017/07/22 PHP
关于恒等于(===)和非恒等于(!==)
2007/08/20 Javascript
Extjs Ext.MessageBox.confirm 确认对话框详解
2010/04/02 Javascript
js判断手机和pc端选择不同执行事件的方法
2015/01/30 Javascript
js鼠标点击图片切换效果代码分享
2015/08/26 Javascript
jquery实现简单的banner轮播效果【实例】
2016/03/30 Javascript
vue使用 better-scroll的参数和方法详解
2018/01/25 Javascript
javascript中的隐式调用
2018/02/10 Javascript
jQuery实现的上传图片本地预览效果简单示例
2018/03/29 jQuery
使用 node.js 模仿 Apache 小部分功能
2019/07/07 Javascript
解决包含在label标签下的checkbox在ie8及以下版本点击事件无效果兼容的问题
2019/10/27 Javascript
vue在App.vue文件中监听路由变化刷新页面操作
2020/08/14 Javascript
[42:48]完美世界DOTA2联赛PWL S3 Magma vs INK ICE 第二场 12.11
2020/12/16 DOTA
python绘制铅球的运行轨迹代码分享
2017/11/14 Python
快速查询Python文档方法分享
2017/12/27 Python
python3爬取数据至mysql的方法
2018/06/26 Python
django2.0扩展用户字段示例
2019/02/13 Python
Python文件读写常见用法总结
2019/02/22 Python
Python编程中类与类的关系详解
2019/08/08 Python
django中使用事务及接入支付宝支付功能
2019/09/15 Python
python set集合使用方法解析
2019/11/05 Python
Pytorch之view及view_as使用详解
2019/12/31 Python
Django ORM filter() 的运用详解
2020/05/14 Python
Python脚本实现监听服务器的思路代码详解
2020/05/28 Python
keras K.function获取某层的输出操作
2020/06/29 Python
Nº21官方在线商店:numeroventuno.com
2019/09/26 全球购物
存储过程和函数的区别
2013/05/28 面试题
教师个人的自我评价分享
2014/01/02 职场文书
机关会计岗位职责
2014/04/08 职场文书
中介业务员岗位职责
2014/04/09 职场文书
大学班级文化建设方案
2014/05/06 职场文书
2014年银行年终工作总结
2014/12/19 职场文书
Mac电脑OS系统下安装Nginx的详细教程
2022/04/14 Servers