为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

喵喵时光机 2018-07-18 10:02:10
前提: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
}


查看完整回答
反对 回复 2018-07-20
?
BIG阳

TA贡献1859条经验 获得超6个赞

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

查看完整回答
反对 回复 2018-07-20
?
一只名叫tom的猫

TA贡献1906条经验 获得超2个赞

你可以在main.js中注册一个全局方法

Vue.prototype.someMethod = function(state){
    // do something...
}

然后在组件内调用

this.someMethod(state)

一般来说这种方式注册的都是使用频次很高的方法, 如处理后台返回的结果的函数、自己写的formatTime方法


查看完整回答
反对 回复 2018-07-20
  • 3 回答
  • 0 关注
  • 1549 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信