前提:1、方法內部需要使用到state的狀態數據2、該方法要多次調用或者循環調用3、這個方法肯定不能寫在action里面,它不修改state里的狀態,只是利用state數據和參數,做一些比較計算,并返回新結果我現在的做法是,在外部定義這個公共函數,然后每次都把state作為參數傳進去export function 函數名(state, 其他參數){
//實現
}這樣雖然能實現我的意圖,但是我總感覺不妥當呢?請問有沒有更好的做法。
3 回答

慕工程0101907
TA貢獻1887條經驗 獲得超5個贊
公共函數文件可以直接
import store from '@/store'export function func1() { const state1 = store.state.module_name.state1 return state1 }

一只名叫tom的貓
TA貢獻1906條經驗 獲得超3個贊
你可以在main.js中注冊一個全局方法
Vue.prototype.someMethod = function(state){ // do something... }
然后在組件內調用
this.someMethod(state)
一般來說這種方式注冊的都是使用頻次很高的方法, 如處理后臺返回的結果的函數、自己寫的formatTime方法
添加回答
舉報
0/150
提交
取消