最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

解決Electron?store的commit和dispatch不好用問題

 更新時間:2023年01月10日 11:43:25   作者:夢和遠方  
這篇文章主要介紹了解決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不是搞事情嗎,不好使還讓我使,是你抽了還是我抽了。

store/index.js

store/modules/index.js

網(wǎng)上搜索一大堆的東西,基本很少有有用的信息,最后偶然發(fā)現(xiàn)竟然是vuex-electron插件的一個坑?。。?/p>

這坑埋的挺深?。?!

二、解決方法有兩個

方法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)

總結

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

最新評論

乌海市| 东安县| 仪陇县| 叙永县| 修武县| 射洪县| 吴忠市| 泽普县| 墨江| 双鸭山市| 新乡县| 望城县| 玉林市| 沾益县| 桃园市| 嵊州市| 电白县| 泸水县| 梁河县| 逊克县| 扎鲁特旗| 凭祥市| 万州区| 革吉县| 松滋市| 北碚区| 龙江县| 石渠县| 通江县| 威远县| 卓资县| 平武县| 木兰县| 油尖旺区| 荆门市| 五常市| 龙川县| 屯留县| 新龙县| 盐山县| 京山县|