前言

我们在使用Vuex的时候,会时不时的更改Vuex内的数据,但是页面不会随之更新,如果数据量大,一个数据依赖另一个数据的话,这样我们要是再刷新页面的话会把以前依赖的数据清空,效率特别低。所以,今天我总结了怎么实现Vuex热更替的功能。

实现

首先,我们这里使用了Vue CLI3。在根目录下的src目录下我们有一个存放Vuex的文件夹叫做store文件夹。首先我们分割成几个模块。

下面我们把它们分别引入,这里没有分割actions,不过与其他属性同理,这里有不做介绍。下面我们在index.js编辑下面代码:

import Vuex from 'vuex'
// 引入分割的模块
import state from './state/state'
import mutations from './mutations/mutations'
import getters from './getters/getters'export default ()=>{// 这里需要赋给一个store变量const store = new Vuex.Store({state:state,mutations:mutations,getters:getters})// 热更新模块if(module.hot){// 跟上面一样,写入对应的分割模块路径module.hot.accept(['./state/state','./mutations/mutations','./getters/getters'],()=>{// 开启热更替const newState = require('./state/state').defaultconst newMutations = require('./mutations/mutations').defaultconst newGetters = require('./getters/getters').defaultstore.hotUpdate({state:newState,mutations:newMutations,getters:newGetters})})}return store
}

我们还需要在main.js修改:

import Vue from 'vue'
import App from './App.vue'
import Vuex from 'vuex'
import createStore from './store/index.js'Vue.config.productionTip = falseVue.use(Vuex)
const store=createStore();new Vue({store,render: h => h(App)
}).$mount('#app')

结语

以上,就完成了Vuex的热更替功能。需要注意的是,直接在state中更改是看不到效果的哦!谢谢阅读。

作者:Vam的金豆之路
主要领域:前端开发
我的微信:maomin9761
微信公众号:前端历劫之路

Vuex的热更替你知道多少?相关推荐

  1. vue知识点总结 --- vuex热更替

    修改state.mutations等配置时,不触发页面刷新 export default () => {const store = new Vuex.Store({state: defaultS ...

  2. vuex--热更替配置

    配置:webpack-dev-server --hot 文件:store.js import Vuex from 'vuex' import defaultState from './state/st ...

  3. 基于Vue,Vue-router,Vuex的简书网站模仿

    在这个教程里面,我会通过一系列的代码和图片来学习怎么使用vue-router,以及vuex.本文假设读者手里有关于vue-router和Vuex的文档,并且对Vue-router和Vuex有一定的了解 ...

  4. webpack----常规配置

    webpack,用起来利器,学起来懵*,还变的快~~~ 做笔记,加深记忆. 作用: 代码转化 文件压缩 代码分割 自动刷新 代码校验 核心概念: entry:入口 module:模块,webpack从 ...

  5. 【JavaScript面试题】面试题整理一

    文章目录 1.说说你对对TS的理解 2.说说nextTick()及应用场景 3.Node中间件用过吗 4.说一下webpack热更新的原理 5.数组去重的方法 6.什么是promise? 7.浏览器缓 ...

  6. mpvue 模板_使用mpvue创建项目以及总结

    1.新建项目 # 全局安装 vue-cli $ npm install--global vue-cli # 创建一个基于 mpvue-quickstart 模板的新项目 $ vue init mpvu ...

  7. mutations vuex 调用_Vuex源码学习(六)action和mutation如何被调用的(前置准备篇)...

    前言 Vuex源码系列不知不觉已经到了第六篇.前置的五篇分别如下: 长篇连载:Vuex源码学习(一)功能梳理 长篇连载:Vuex源码学习(二)脉络梳理 作为一个Web前端,你知道Vuex的instal ...

  8. Vuex 2.0 源码分析

    作者:滴滴公共前端团队 - 黄轶 大家好,我叫黄轶,来自滴滴公共前端团队,我们团队最近写了一本书 --<Vue.js 权威指南>,内容丰富,由浅入深.不过有一些同学反馈说缺少 Vuex 的 ...

  9. 大热荒野敲开资本大门后,精致露营就留得住年轻人吗?

    (图片来源于网络,具体出处见水印,侵删) 文 | 易不二 来源 | 螳螂观察(ID:TanglangFin) 精致生活已经卷到户外了. 在今年最火热的露营话题里,低调奢华.岁月静好的精致露营风几乎&q ...

最新文章

  1. php请求接口数据,php curl请求接口并获取数据的示例代码
  2. 字节AI实习生搞出这个玩意儿,撩到了图灵奖大神,我用了用结果画风逐渐鬼畜起来……...
  3. Linux下C高手成长过程----经典书籍推荐
  4. 动态规划之——最长公共子序列(nyoj36)
  5. Product Distribution chain id F4 value help的实现
  6. 关于我曾经做过的一个商业社区的ui框架
  7. Repeater嵌套Repeater获取父级绑定项
  8. 【HDU1166】敌兵布阵,线段树练习
  9. 浅谈K短路算法(KSP)之二(YEN .J算法求解)
  10. 解决vmware虚拟机安装苹果系统Mac OS X 10.10出现“二进制转换不支持用于Mac OS X”的问题-网络教程与技术 -亦是美网络 - 傲游云浏览器 (beta) 4.9.3.100...
  11. PopupWindwo和AlertDialog的区别
  12. VS2010/MFC编程入门之前言
  13. 【转】VS2008 入门基本操作
  14. ANSYS-SCDM二次开发(遍历获得structure和group下的部件名称)
  15. android 标准注释方法,android studio 学习笔记之 注释规范化
  16. 如何使用Blender建模“苹果”
  17. lzg_ad:Windows Embedded Standard 安装说明
  18. 一、EulerOS 操作系统入门
  19. 使用windows自带的磁盘测速工具对硬盘进行测速——从此无需额外下载第三方硬盘测速工具
  20. Acrobat Reader XI启动后自动关闭的分析

热门文章

  1. 爱数Data+AI定位后最新动作,正式开源认知智能开发框架KWeaver
  2. web/tomcat服务器/http协议 重要知识点
  3. java实现聊天室功能(包含全部代码,有界面)
  4. html5 游戏 黑屏,《战地5》游戏黑屏无限加载怎么解决 黑屏解决办法
  5. 永磁同步电机超螺旋滑模控制算法仿真模型,有很强的鲁棒性,减小滑模抖振现象,可与常规滑模观测控制算法对比以体现改进
  6. 【linux杂谈】安装linux虚拟机的时候发现的full name,user name有啥区别
  7. 在mysql中通配符_mysql查询中通配符的使用
  8. 印度Kudankulam核电站被攻击事件—目前已知道的信息
  9. PHP转Java一年体会
  10. Bank相关4_电子现金与电子钱包的区别