我试图分离出一些在我的 Vuex 突变中的许多调用中常见的代码。我感觉这是不鼓励的,但我不明白为什么。
看看下面一些示例代码的图像:
我已经在 Vuex 中添加了这个“助手”条目——这显然不存在,但我如何从突变和/或 Action 中调用共享助手函数“getColumn”?
或者我是否必须在“VuexHelper”类上调用静态方法? :(
类似于:
注意 我已经看过以下内容:
- Vue Mixins - 是的,类似的东西可以工作但不是 Vuex 支持 - 此外,vue 方法不返回值...
- 我查看了模块,但这些仍然没有提供我需要的东西,即返回值的简单可重用函数。
谢谢
最佳答案
我不明白您为什么要将辅助函数放在商店中。您可以只使用普通函数。
function getColumn(state, colName) {
// Do your thing.
}
const vstore = new Vuex.Store({
// ....
mutations: {
removeColumn(state, colName) {
var column = getColumns(state, colName);
}
}
};
另一方面,如果您真的需要它,您可以访问原始模块及其包含的所有内容:
var column = this._modules.root._rawModule.helpers.getColumns(state, colName);
虽然此语法没有记录并且可以在以后的版本中更改。
关于vue.js - 如何从 Vuex 中的突变或 Action 中调用共享辅助函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51915776/