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 $router和$route的区别详解
Dec 02 Vue.js
Vue与React的区别和优势对比
Dec 18 Vue.js
Vue实现一种简单的无限循环滚动动画的示例
Jan 10 Vue.js
Vue过滤器,生命周期函数和vue-resource简单介绍
Jan 12 Vue.js
vue+element table表格实现动态列筛选的示例代码
Jan 14 Vue.js
用vite搭建vue3应用的实现方法
Feb 22 Vue.js
Vue过滤器(filter)实现及应用场景详解
Jun 15 Vue.js
Vue Element-ui表单校验规则实现
Jul 09 Vue.js
一定要知道的 25 个 Vue 技巧
Nov 02 Vue.js
Vue的列表之渲染,排序,过滤详解
Feb 24 Vue.js
vue ant design 封装弹窗表单的使用
Jun 01 Vue.js
Vue深入理解插槽slot的使用
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
MYSQL 小技巧 -- LAST_INSERT_ID
2009/11/24 PHP
Fatal error: Call to undefined function curl_init()解决方法
2010/04/09 PHP
PHP文件去掉PHP注释空格的函数分析(PHP代码压缩)
2013/07/02 PHP
php遍历数组的4种方法总结
2014/07/05 PHP
php编写的一个E-mail验证类
2015/03/25 PHP
php+ajax+json 详解及实例代码
2016/12/12 PHP
jQuery创建自己的插件(自定义插件)的方法
2010/06/10 Javascript
30个最好的jQuery 灯箱插件分享
2011/04/25 Javascript
获得Javascript对象属性个数的示例代码
2013/11/21 Javascript
JS获取url链接字符串 location.href
2013/12/23 Javascript
js基于面向对象实现网页TAB选项卡菜单效果代码
2015/09/09 Javascript
BootStrap实用代码片段之一
2016/03/22 Javascript
JS中sort函数排序用法实例分析
2016/06/16 Javascript
JavaScript中日期函数的相关操作知识
2016/08/03 Javascript
jQuery实现的表格展开伸缩效果实例
2016/09/07 Javascript
bootstrap读书笔记之CSS组件(上)
2016/10/17 Javascript
Bootstrap CSS组件之面包屑导航(breadcrumb)
2016/12/17 Javascript
mui开发中获取单选按钮、复选框的值(实例讲解)
2017/07/24 Javascript
js+html5生成自动排列对话框实例
2017/10/09 Javascript
vue+element实现批量删除功能的示例
2018/02/28 Javascript
详解使用vue-admin-template的优化历程
2018/05/20 Javascript
Vue引入sass并配置全局变量的方法
2018/06/27 Javascript
Vue 解决父组件跳转子路由后当前导航active样式消失问题
2020/07/21 Javascript
Python中为什么要用self探讨
2015/04/14 Python
Python中模块与包有相同名字的处理方法
2017/05/05 Python
解决pandas展示数据输出时列名不能对齐的问题
2019/11/18 Python
Xadmin+rules实现多选行权限方式(级联效果)
2020/04/07 Python
python如何获得list或numpy数组中最大元素对应的索引
2020/11/16 Python
详解python的xlwings库读写excel操作总结
2021/02/26 Python
Merchant 1948澳大利亚:新西兰领先的鞋类和靴子供应商
2018/03/24 全球购物
欧洲品牌瓷器餐具网上商店:Porzellantreff.de
2018/04/04 全球购物
日本乐天官方海外转运服务:Rakuten Global Express
2018/11/30 全球购物
自动化专业职业生涯规划书范文
2014/01/16 职场文书
省级四好少年事迹材料
2014/01/25 职场文书
面试后感谢信怎么写
2014/02/01 职场文书
初中班级口号
2014/06/09 职场文书