我正在尝试分离一些在Vuex变异中许多调用中常见的代码。我感到不高兴,但是我不明白为什么。
下面是一些示例代码的图片:
我已经在Vuex中添加了此“帮助程序”条目-显然不存在,但是如何从突变和/或动作中调用共享的帮助程序功能“ getColumn”?
还是我不得不诉诸'VuexHelper'类的静态方法? :(
类似的东西:
注意 我已经看过以下内容:
谢谢
答案 0 :(得分:4)
我不明白为什么您可能想在商店中添加辅助功能。您可以只使用普通功能。
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);
尽管未记录此语法,但可以在以后的版本中更改。
答案 1 :(得分:1)
您可能希望将getColumn作为VueX存储上的getter函数实现。 例如:
getters: {
getColumn: state => colName => {
... return column;
}
}
现在getColumn可以在商店内使用,就像这样:
let x = getters.getColumn('colNameString');