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 相关文章推荐
vue3.0中setup使用(两种用法)
Dec 02 Vue.js
vue实现两个区域滚动条同步滚动
Dec 13 Vue.js
VUE中鼠标滚轮使div左右滚动的方法详解
Dec 14 Vue.js
vue 实现基础组件的自动化全局注册
Dec 25 Vue.js
详解Vue2的diff算法
Jan 06 Vue.js
vue+element table表格实现动态列筛选的示例代码
Jan 14 Vue.js
Vue实现摇一摇功能(兼容ios13.3以上)
Jan 26 Vue.js
Vite和Vue CLI的优劣
Jan 30 Vue.js
如何理解Vue前后端数据交互与显示
May 10 Vue.js
vue实力踩坑之push当前页无效
Apr 10 Vue.js
vue的项目如何打包上线
Apr 13 Vue.js
vue特效之翻牌动画
Apr 20 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
某大型网络公司应聘时的笔试题目附答案
2008/03/27 PHP
phpMyAdmin出现无法载入 mcrypt 扩展,请检查PHP配置的解决方法
2012/03/26 PHP
PHP实现随机发放扑克牌
2020/04/21 PHP
js parsefloat parseint 转换函数
2010/01/21 Javascript
jQuery实战之品牌展示列表效果
2011/04/10 Javascript
Jquery同辈元素选中/未选中效果的实例代码
2013/08/01 Javascript
点击进行复制的JS代码实例
2013/08/23 Javascript
AngularJS 自定义指令详解及示例代码
2016/08/17 Javascript
百度地图JavascriptApi Marker平滑移动及车头指向行径方向
2017/03/13 Javascript
EasyUI中的dataGrid的行内编辑
2017/06/22 Javascript
react 实现页面代码分割、按需加载的方法
2018/04/03 Javascript
Webpack path与publicPath的区别详解
2018/05/03 Javascript
nuxt.js 缓存实践
2018/06/25 Javascript
angular4自定义表单控件[(ngModel)]的实现
2018/11/23 Javascript
JavaScript中concat复制数组方法浅析
2019/01/20 Javascript
countUp.js实现数字动态变化效果
2019/10/17 Javascript
JS实现旋转木马轮播图
2020/01/01 Javascript
解决vue+webpack项目接口跨域出现的问题
2020/08/10 Javascript
python学习数据结构实例代码
2015/05/11 Python
python动态参数用法实例分析
2015/05/25 Python
基于Python如何使用AIML搭建聊天机器人
2016/01/27 Python
Python编程产生非均匀随机数的几种方法代码分享
2017/12/13 Python
python如何把嵌套列表转变成普通列表
2018/03/20 Python
Ubuntu下使用Python实现游戏制作中的切分图片功能
2018/03/30 Python
解决Python网页爬虫之中文乱码问题
2018/05/11 Python
python如何使用socketserver模块实现并发聊天
2019/12/14 Python
pytorch中的自定义反向传播,求导实例
2020/01/06 Python
Python3加密解密库Crypto的RSA加解密和签名/验签实现方法实例
2020/02/11 Python
解决Django响应JsonResponse返回json格式数据报错问题
2020/08/09 Python
python简单实现9宫格图片实例
2020/09/03 Python
CSS3 网页下拉菜单代码解释 中文翻译
2010/02/27 HTML / CSS
澳大利亚免息网上购物:Shop Zero
2016/09/17 全球购物
就业协议书怎么填
2014/09/15 职场文书
酒店员工手册范本
2015/05/14 职场文书
南京南京观后感
2015/06/02 职场文书
可可西里观后感
2015/06/08 职场文书