前提:
1、方法内部需要使用到state的状态数据
2、该方法要多次调用或者循环调用
3、这个方法肯定不能写在action里面,它不修改state里的状态,只是利用state数据和参数,做一些比较计算,并返回新结果
我现在的做法是,在外部定义这个公共函数,然后每次都把state作为参数传进去
export function 函数名(state, 其他参数){
//实现
}
这样虽然能实现我的意图,但是我总感觉不妥当呢?请问有没有更好的做法。
前提:
1、方法内部需要使用到state的状态数据
2、该方法要多次调用或者循环调用
3、这个方法肯定不能写在action里面,它不修改state里的状态,只是利用state数据和参数,做一些比较计算,并返回新结果
我现在的做法是,在外部定义这个公共函数,然后每次都把state作为参数传进去
export function 函数名(state, 其他参数){
//实现
}
这样虽然能实现我的意图,但是我总感觉不妥当呢?请问有没有更好的做法。
你可以在main.js中注册一个全局方法
Vue.prototype.someMethod = function(state){
// do something...
}
然后在组件内调用
this.someMethod(state)
一般来说这种方式注册的都是使用频次很高的方法, 如处理后台返回的结果的函数、自己写的formatTime方法
9 回答1.7k 阅读✓ 已解决
6 回答1.5k 阅读
3 回答1.4k 阅读✓ 已解决
4 回答1.2k 阅读✓ 已解决
2 回答1.2k 阅读✓ 已解决
3 回答1k 阅读
3 回答1.3k 阅读✓ 已解决
公共函数文件可以直接