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

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

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