自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

如何實(shí)現(xiàn)Vuex的熱更新

開發(fā) 前端
我們?cè)谑褂肰uex的時(shí)候,會(huì)時(shí)不時(shí)的更改Vuex內(nèi)的數(shù)據(jù),但是頁面不會(huì)隨之更新,如果數(shù)據(jù)量大,一個(gè)數(shù)據(jù)依賴另一個(gè)數(shù)據(jù)的話,這樣我們要是再刷新頁面的話會(huì)把以前依賴的數(shù)據(jù)清空,效率特別低。

[[414990]]

前言

我們?cè)谑褂肰uex的時(shí)候,會(huì)時(shí)不時(shí)的更改Vuex內(nèi)的數(shù)據(jù),但是頁面不會(huì)隨之更新,如果數(shù)據(jù)量大,一個(gè)數(shù)據(jù)依賴另一個(gè)數(shù)據(jù)的話,這樣我們要是再刷新頁面的話會(huì)把以前依賴的數(shù)據(jù)清空,效率特別低。所以,今天我總結(jié)了怎么實(shí)現(xiàn)Vuex熱更替的功能。

實(shí)現(xiàn)

首先,我們這里使用了Vue CLI3。在根目錄下的src目錄下我們有一個(gè)存放Vuex的文件夾叫做store文件夾。首先我們分割成幾個(gè)模塊。

下面我們把它們分別引入,這里沒有分割actions,不過與其他屬性同理,這里有不做介紹。下面我們?cè)趇ndex.js編輯下面代碼:

  1. import Vuex from 'vuex' 
  2. // 引入分割的模塊 
  3. import state from './state/state' 
  4. import mutations from './mutations/mutations' 
  5. import getters from './getters/getters' 
  6.  
  7. export default ()=>{ 
  8. // 這里需要賦給一個(gè)store變量 
  9.  const store = new Vuex.Store({ 
  10.     state:state, 
  11.     mutations:mutations, 
  12.     getters:getters 
  13.   }) 
  14.   // 熱更新模塊 
  15.   if(module.hot){ 
  16.   // 跟上面一樣,寫入對(duì)應(yīng)的分割模塊路徑 
  17.     module.hot.accept([ 
  18.       './state/state'
  19.       './mutations/mutations'
  20.       './getters/getters' 
  21.     ],()=>{ 
  22.     // 開啟熱更替 
  23.       const newState = require('./state/state').default 
  24.       const newMutations = require('./mutations/mutations').default 
  25.       const newGetters = require('./getters/getters').default 
  26.       store.hotUpdate({ 
  27.         state:newState, 
  28.         mutations:newMutations, 
  29.         getters:newGetters 
  30.       }) 
  31.     }) 
  32.   } 
  33.    
  34.   return store 

我們還需要在main.js修改:

  1. import Vue from 'vue' 
  2. import App from './App.vue' 
  3. import Vuex from 'vuex' 
  4. import createStore from './store/index.js' 
  5.  
  6. Vue.config.productionTip = false 
  7.  
  8. Vue.use(Vuex) 
  9. const store=createStore(); 
  10.  
  11. new Vue({ 
  12.   store, 
  13.   render: h => h(App) 
  14. }).$mount('#app'

結(jié)語

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

 

責(zé)任編輯:姜華 來源: 前端歷劫之路
相關(guān)推薦

2021-04-15 21:21:59

代碼熱Python函數(shù)

2024-07-18 00:05:58

Vite代碼前端

2021-01-29 10:36:20

Bundle文件Apple

2024-09-06 07:59:45

vuexVue.js模式

2023-09-11 08:31:12

自動(dòng)配置熱部署DevTools

2023-10-12 22:38:18

SpringBoot熱部署

2024-07-31 08:02:26

Prometheus服務(wù)器代碼

2021-04-19 10:45:52

Webpack熱更新前端

2024-04-18 15:22:54

2025-03-07 00:00:10

2019-11-11 10:38:06

日志配置技術(shù)

2019-09-23 10:51:14

JavaJava虛擬機(jī)Linux

2020-08-12 11:05:32

Vue 源碼應(yīng)用

2021-05-06 14:34:12

Webpack熱更新程序

2025-01-21 11:46:26

2015-06-02 13:37:13

Node.jsWeb

2024-12-05 10:26:33

Tomcat線程熱部署

2023-07-31 09:59:17

JavaJVMAgent

2021-07-16 22:49:50

PiniaVuex替代品

2012-02-07 10:31:09

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)