解決Electron?store的commit和dispatch不好用問題
Vue 的Vuex 一般vue的commit和dispatch可以直接使用,然后到了桌面程序的Vuex(store)竟然不好使了,原因真是奇葩無比。
一、Electron使用store的commit和dispatch問題
this.$store.dispatch('project/setProject', item) // this.$store.dispatch('project/setProject') //this.$store.dispatch('project/setProject').then(() => { // //------ //})
如果直接使用dispatch發(fā)現(xiàn),緩存并未更新,感覺就像是方法沒有執(zhí)行,因為沒有任何錯誤提示,這如何找問題!
this.$store.commit('INCREMENT_MAIN_COUNTER'); // this.$store.commit('INCREMENT_MAIN_COUNTER', payload);
然后我們換commit的時候又報如下錯誤,只能使用dispatch,這sb不是搞事情嗎,不好使還讓我使,是你抽了還是我抽了。
網(wǎng)上搜索一大堆的東西,基本很少有有用的信息,最后偶然發(fā)現(xiàn)竟然是vuex-electron插件的一個坑?。?!
這坑埋的挺深?。?!
二、解決方法有兩個
方法1
在 store/index.js 里面,就是上文特別強調(diào)了的那個文件,去掉或注釋 createSharedMutations 插件
因為 vuex-electron 引入了一個用于多進程間共享 Vuex Store 的狀態(tài)的插件。
如果沒有多進程交互的需求,完全可以不引入這個插件。
注釋掉以后重啟項目,用 this.$store.commit('XXX') 就可以使用了
方法2
如果需要多進程來處理怎么辦?
看第 3 條
這樣就不能使用第一種方法來解決問題了。好在文檔也說了,加上一行導入。
找到 /src/main/index.js,在前面加上一句:
import '../renderer/store'
重啟之后一切正常,可以使用 Dispatch 來進行操作了!
使用方法
// 存 兩者使用有區(qū)別,注意區(qū)分 this.$store.dispatch('project/setProject', item) // 調(diào)用actions方法 this.$store.commit('project/SET_PROJECT', item) // 調(diào)用mutations方法 // 取 第一個project是js文件的名字,第二個是state設置的屬性key,如此才能獲取到值 console.log(this.$store.state.project.project)
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
element-ui vue input輸入框自動獲取焦點聚焦方式
這篇文章主要介紹了element-ui vue input輸入框自動獲取焦點聚焦方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-04-04Vue3視頻播放器組件Vue3-video-play新手入門教程
這篇文章主要給大家介紹了關于Vue3視頻播放器組件Vue3-video-play新手入門教程的相關資料,本文實例為大家分享了vue-video-player視頻播放器的使用配置,供大家參考,需要的朋友可以參考下2023-12-12Vue 實現(xiàn)CLI 3.0 + momentjs + lodash打包時優(yōu)化
今天小編就為大家分享一篇Vue 實現(xiàn)CLI 3.0 + momentjs + lodash打包時優(yōu)化,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-11-11vue+echarts實現(xiàn)數(shù)據(jù)實時更新
這篇文章主要為大家詳細介紹了vue+echarts實現(xiàn)數(shù)據(jù)實時更新,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-04-04淺談Vue.js 關于頁面加載完成后執(zhí)行一個方法的問題
這篇文章主要介紹了Vue.js 關于頁面加載完成后執(zhí)行一個方法的問題,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-04-04vue圓環(huán)百分比進度條組件功能的實現(xiàn)
在一些頁面設置進度條效果給人一種很好的體驗效果,今天小編教大家vue圓環(huán)百分比進度條組件功能的實現(xiàn)代碼,代碼超級簡單啊,感興趣的朋友快來看下吧2021-05-05