【发布时间】:2020-03-31 16:25:34
【问题描述】:
我有一个名为_mixin.js 的简单文件,其中包括:
const mutations = {
_set(state, data) {
for (let key in data) {
if (key in state) {
state[key] = data[key];
}
}
},
_reset(state) {
const s = initialState();
Object.keys(s).forEach(key => {
state[key] = s[key];
});
}
};
export default {
mutations
};
我想做的是在所有现有模块突变之间共享这两种方法,如下所示:
import _MIXINS from 'store/modules/_mixins';
function initialState() {
return {
id: null,
email: null,
password: null,
name: null,
};
}
const state = initialState();
const mutations = {
..._MIXINS.mutations,
setId(state, id) {
state.id = id;
}
};
问题是浏览器说它找不到函数initialState,因为它不在同一个文件中。
【问题讨论】:
-
需要将函数导入到其他模块,但是完全可以在vuex中导入和使用本地函数。
-
@Eggon 你能举个例子吗?
标签: javascript vuex vuex-modules