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 的 v-model用法实例
Nov 23 Vue.js
vue3.0+vue-router+element-plus初实践
Dec 02 Vue.js
用vue设计一个日历表
Dec 03 Vue.js
vue实现购物车的小练习
Dec 21 Vue.js
Vue仿百度搜索功能
Dec 28 Vue.js
vue-router懒加载的3种方式汇总
Feb 28 Vue.js
详解Vue的sync修饰符
May 15 Vue.js
Vue如何实现组件间通信
May 15 Vue.js
vue3中provide && inject的使用
Jul 01 Vue.js
详解Vue slot插槽
Nov 20 Vue.js
vue3语法糖内的defineProps及defineEmits
Apr 14 Vue.js
vue3 自定义图片放大器效果的示例代码
Jul 23 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
Smarty结合Ajax实现无刷新留言本实例
2007/01/02 PHP
php 动态多文件上传
2009/01/18 PHP
一个基于PDO的数据库操作类(新) 一个PDO事务实例
2011/07/03 PHP
360通用php防护代码(使用操作详解)
2013/06/18 PHP
浅谈PDO的rowCount函数
2015/06/18 PHP
[原创]PHP实现逐行删除文件右侧空格的方法
2015/12/25 PHP
PHP扩展迁移为PHP7扩展兼容性问题记录
2016/02/15 PHP
PHP实现二维数组根据key进行排序的方法
2016/12/30 PHP
PHP实现简单的协程任务调度demo示例
2020/02/01 PHP
JS控制一个DIV层在指定时间内消失的方法
2014/02/17 Javascript
javascript实现简单的分页特效
2015/08/12 Javascript
分享有关jQuery中animate、slide、fade等动画的连续触发、滞后反复执行的bug
2016/01/10 Javascript
JS动态创建元素的两种方法
2016/04/20 Javascript
Jquery Easyui搜索框组件SearchBox使用详解(19)
2016/12/17 Javascript
Vue分页组件实例代码
2017/04/17 Javascript
Nodejs中使用captchapng模块生成图片验证码
2017/05/18 NodeJs
详解使用PM2管理nodejs进程
2017/10/24 NodeJs
红黑树的插入详解及Javascript实现方法示例
2018/03/26 Javascript
node实现基于token的身份验证
2018/04/09 Javascript
微信小程序如何修改radio和checkbox的默认样式和图标
2019/07/24 Javascript
小程序中的箭头函数的具体使用
2020/06/19 Javascript
vue radio单选框,获取当前项(每一项)的value值操作
2020/09/10 Javascript
python语音识别实践之百度语音API
2018/08/30 Python
wxPython实现整点报时
2019/11/18 Python
基于python使用tibco ems代码实例
2019/12/20 Python
详解Python修复遥感影像条带的两种方式
2020/02/23 Python
python库skimage给灰度图像染色的方法示例
2020/04/27 Python
美国奢侈品购物平台:Orchard Mile
2018/05/02 全球购物
客户经理岗位职责
2013/12/08 职场文书
企业总经理岗位职责
2014/02/13 职场文书
党课知识竞赛主持词
2014/04/01 职场文书
环保小标语
2014/06/13 职场文书
四风问题个人对照检查剖析材料
2014/09/27 职场文书
群众路线剖析材料(四风)
2014/11/05 职场文书
预备党员入党感想
2015/08/10 职场文书
AndroidStudio图片压缩工具ImgCompressPlugin使用实例
2022/08/05 Java/Android