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 element实现表格合并行数据
Nov 30 Vue.js
Vue 实现一个简单的鼠标拖拽滚动效果插件
Dec 10 Vue.js
vue 数据操作相关总结
Dec 17 Vue.js
vue项目中openlayers绘制行政区划
Dec 24 Vue.js
Vue通过阿里云oss的url连接直接下载文件并修改文件名的方法
Dec 25 Vue.js
如何在vue中使用HTML 5 拖放API
Jan 14 Vue.js
vue element el-transfer增加拖拽功能
Jan 15 Vue.js
vscode自定义vue模板的实现
Jan 27 Vue.js
手动实现vue2.0的双向数据绑定原理详解
Feb 06 Vue.js
详解Vue的七种传值方式
Feb 08 Vue.js
vue+django实现下载文件的示例
Mar 24 Vue.js
Element-ui Layout布局(Row和Col组件)的实现
Dec 06 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 数组实例说明
2008/08/18 PHP
php 修改zen-cart下单和付款流程以防止漏单
2010/03/08 PHP
CI框架实现创建自定义类库的方法
2018/12/25 PHP
浅谈PHP SHA1withRSA加密生成签名及验签
2019/03/18 PHP
用javascript实现的激活输入框后隐藏初始内容
2007/06/29 Javascript
NodeJs中的非阻塞方法介绍
2012/06/05 NodeJs
js检测输入内容全为空格的方法
2014/05/03 Javascript
借助FileReader实现将文件编码为Base64后通过AJAX上传
2015/12/24 Javascript
jquery Deferred 快速解决异步回调的问题
2016/04/05 Javascript
bootstrap布局中input输入框右侧图标点击功能
2016/05/16 Javascript
用JS中split方法实现彩色文字背景效果实例
2016/08/24 Javascript
在js中实现邮箱格式的验证方法(推荐)
2016/10/24 Javascript
详解jQuery中ajax.load()方法
2017/01/25 Javascript
浅谈node中的exports与module.exports的关系
2017/08/01 Javascript
js实现网页的两个input标签内的数值加减(示例代码)
2017/08/15 Javascript
微信小程序picker组件下拉框选择input输入框的实例
2017/09/20 Javascript
JavaScript实现精美个性导航栏筋斗云效果
2017/10/29 Javascript
vue实现图片加载完成前的loading组件方法
2018/02/05 Javascript
讲解vue-router之什么是编程式路由
2018/05/28 Javascript
Vue实现美团app的影院推荐选座功能【推荐】
2018/08/29 Javascript
[02:45]2016年中国刀塔全程回顾,完美“圣”典即将上演
2016/12/15 DOTA
virtualenv 指定 python 解释器的版本方法
2018/10/25 Python
python框架flask表单实现详解
2019/11/04 Python
Keras设置以及获取权重的实现
2020/06/19 Python
Python根据URL地址下载文件并保存至对应目录的实现
2020/11/15 Python
Dodax奥地利:音乐、电影、书籍、玩具、电子产品等
2019/08/31 全球购物
Linux开机引导的步骤是什么
2014/02/26 面试题
个人职业生涯规划书1500字
2013/12/31 职场文书
素质拓展感言
2014/01/29 职场文书
亲戚结婚的请假条
2014/02/11 职场文书
作风整顿个人剖析材料
2014/10/06 职场文书
教师正风肃纪剖析材料
2014/10/20 职场文书
2015新年寄语大全
2014/12/08 职场文书
工作感想范文
2015/08/07 职场文书
PyQt5 QThread倒计时功能的实现代码
2021/04/02 Python
阿里云日志过滤器配置日志服务
2022/04/09 Servers