我可能看不到明显的事情,但是几个小时后我还没有看到它。
问题:当我将Vuex存储导入非组件文件(api服务)时,一个模块正确加载而另一个模块仅按名称加载,否则为空。
// store.js
import * as collections from "./modules/collections";
import * as auth from "./modules/auth";
export default new Vuex.Store({
modules: {
auth,
collections
}
});
这两个模块几乎完全相同。两者都有
export const getters = {}
export const actions = {}
export const mutations = {}
export const state = {}
现在,在其他非组件文件中我不要包含商店时,我的vue商店看起来像这样:
{"auth":{"authenticated":false,"authToken":"123","loginPending":false,"loginError":{}},"collections":{"collectionsPending":false,"collectionsError":null,"collections":[]}}
现在当我导入商店以便在我的服务中使用它时:
import store from '../store'
// NO OTHER MENTIONS OF STORE, ONLY IMPORTING
突然间我的auth模块只是“空”
{"auth":{},"collections":{"collectionsPending":false,"collectionsError":null,"collections":[]}}
它与模块加载有关。
通过添加console.log
语句加载顺序:
没有导入:
INIT AUTH
INIT collections
INIT store
使用导入:
INIT collections
INIT store
IMPORT STATEMENT -- INTO SERVICE
INIT AUTH
我正在使用Vue Webpack Boilerplate
答案 0 :(得分:0)
感谢Emile Bergeron。