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 相关文章推荐
vue+vant实现购物车全选和反选功能
Nov 17 Vue.js
vue+iview实现分页及查询功能
Nov 17 Vue.js
解决vue下载后台传过来的乱码流的问题
Dec 05 Vue.js
vue实现购物车的小练习
Dec 21 Vue.js
如何在vue 中使用柱状图 并自修改配置
Jan 21 Vue.js
深入了解Vue动态组件和异步组件
Jan 26 Vue.js
vue实现移动端div拖动效果
Mar 03 Vue.js
vue-cli3.0修改打包后的文件名和文件地址,打包后本地运行报错解决
Apr 06 Vue.js
vue3种table表格选项个数的控制方法
Apr 14 Vue.js
vue.js 使用原生js实现轮播图
Apr 26 Vue.js
Vue 打包后相对路径的引用问题
Jun 05 Vue.js
vue el-table实现递归嵌套的示例代码
Aug 14 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/12/18 PHP
php封装的page分页类完整实例
2016/10/18 PHP
Javascript 构造函数,公有,私有特权和静态成员定义方法
2009/11/30 Javascript
input的focus方法使用
2010/03/13 Javascript
js控制table合并具体实现
2014/02/20 Javascript
javascript Array 数组常用方法
2015/04/05 Javascript
js倒计时小实例(多次定时)
2016/12/08 Javascript
AngularJS实现页面定时刷新
2017/03/14 Javascript
JavaScript 值类型和引用类型的初次研究(推荐)
2017/07/19 Javascript
分享vue.js devtools遇到一系列问题
2017/10/24 Javascript
对类Vue的MVVM前端库的实现代码
2018/09/07 Javascript
Node.JS在命令行中检查Chrome浏览器是否安装并打开指定网址
2019/05/21 Javascript
Vue动态加载图片在跨域时无法显示的问题及解决方法
2020/03/10 Javascript
Python操作SQLite简明教程
2014/07/10 Python
通过数据库向Django模型添加字段的示例
2015/07/21 Python
解决Python传递中文参数的问题
2015/08/04 Python
Python运行报错UnicodeDecodeError的解决方法
2016/06/07 Python
Python3中简单的文件操作及两个简单小实例分享
2017/06/18 Python
python @property的用法及含义全面解析
2018/02/01 Python
django主动抛出403异常的方法详解
2019/01/04 Python
pandas中遍历dataframe的每一个元素的实现
2019/10/23 Python
Python 中判断列表是否为空的方法
2019/11/24 Python
python实现音乐播放器 python实现花框音乐盒子
2020/02/25 Python
使用Python获取当前工作目录和执行命令的位置
2020/03/09 Python
Python 实现自动完成A4标签排版打印功能
2020/04/09 Python
深入理解Python 多线程
2020/06/16 Python
HTML5不支持标签和新增标签详解
2016/06/27 HTML / CSS
Html5移动端网页端适配(js+rem)
2021/02/03 HTML / CSS
美国牙科折扣计划:DentalPlans.com
2019/08/26 全球购物
金额转换,阿拉伯数字的金额转换成中国传统的形式如:(¥1011)-> (一千零一拾一元整)输出
2015/05/29 面试题
J2EE相关知识面试题
2013/08/26 面试题
应聘医药代表职位求职信
2013/10/21 职场文书
2015年助残日活动总结
2015/03/27 职场文书
机器人瓦力观后感
2015/06/12 职场文书
公司处罚决定书
2015/06/24 职场文书
预防职务犯罪警示教育心得体会
2016/01/15 职场文书