She*_*dPL 2 javascript vue.js vuex
我想像下面这样导出 Vuex 模块:
export {
state,
mutations,
actions,
getters
}
Run Code Online (Sandbox Code Playgroud)
但是当我试图将它包含在我的索引文件中时,它会引发错误。类型不兼容的东西。我想我应该指定上述对象的类型,但我不知道它是什么类型。
import * as itemsModule from './app/store/items/module'
let store = new Vuex.Store({
modules: {
items: itemsModule
}
});
Run Code Online (Sandbox Code Playgroud)
抛出:
不可分配给“StoreOptions<{}>”类型的参数。属性“模块”的类型不兼容。
问候
您导入和导出的方式不正确。试试这样:
模块.js
export default {
state,
mutations,
actions,
getters
}
Run Code Online (Sandbox Code Playgroud)
商店.js
import itemsModule from './app/store/items/module'
Run Code Online (Sandbox Code Playgroud)
解释: 你导入模块的方式,你得到了这种对象:
{
default: {
actions: {/** ... */}
getters: {/** ... */}
mutations: {/** ... */}
state: {/** ... */}
}
}
Run Code Online (Sandbox Code Playgroud)
这不是商店期望的模块结构。