vuex要写一个能调用的公共方法应该写在哪里?

前提:
1、方法内部需要使用到state的状态数据
2、该方法要多次调用或者循环调用
3、这个方法肯定不能写在action里面,它不修改state里的状态,只是利用state数据和参数,做一些比较计算,并返回新结果

我现在的做法是,在外部定义这个公共函数,然后每次都把state作为参数传进去

export function 函数名(state, 其他参数){
    //实现
}

这样虽然能实现我的意图,但是我总感觉不妥当呢?请问有没有更好的做法。


喵喵时光机
浏览 1555回答 3
3回答

慕工程0101907

公共函数文件可以直接import store from '@/store'export function func1() {  const state1 = store.state.module_name.state1  return state1 }

BIG阳

感觉你这个需求写在Getter里面比较合适

一只名叫tom的猫

你可以在main.js中注册一个全局方法Vue.prototype.someMethod = function(state){     // do something... }然后在组件内调用this.someMethod(state)一般来说这种方式注册的都是使用频次很高的方法, 如处理后台返回的结果的函数、自己写的formatTime方法
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Vue.js