javascript - 如何在Vuex中导出模块

标签 javascript vue.js vuex

我想导出 Vuex 模块,如下所示:

export {
    state,
    mutations,
    actions,
    getters
}

但是当我尝试将其包含在我的索引文件中时,它会抛出错误。类型不兼容的东西。我认为我应该指定上述对象的类型,但我不知道它是什么类型。

import * as itemsModule from './app/store/items/module'

let store = new Vuex.Store({
    modules: {
        items: itemsModule
    }
});

抛出:

is not assignable to parameter of type 'StoreOptions<{}>'. Types of property 'modules' are incompatible.

问候

最佳答案

您导入和导出的方式不正确。 试试这样:

module.js

export default {
    state,
    mutations,
    actions,
    getters
}

store.js

import itemsModule from './app/store/items/module' 

说明: 通过导入模块的方式,您得到了这种对象:

{
  default: {
    actions: {/** ... */}
    getters: {/** ... */}
    mutations: {/** ... */}
    state: {/** ... */}
  }
}

这不是商店期望的模块结构。

关于javascript - 如何在Vuex中导出模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46730449/

相关文章:

javascript - Stripe checkout.js - 将自定义参数传递给 token 回调

javascript - jquery ajax post 中的 While 循环

javascript - 反引号中返回的 vue.js 计算方法未在模板中解析

vue.js - Vuejs - 自动 event.preventDefault()

javascript - 当 vuex store 改变时更新 prop 属性

vuex - 如何使用 vuex-module-decorators 进行带参数的 getter 操作?

vue.js - 如何在一个模块内从另一个模块使用 getter 进行 Vuex 状态

javascript - 在 jQuery zIndex 中创建多个 div

javascript - 在 Redux reducer 中取消将数据移至数组

javascript - 只有在父组件的异步方法完成后才渲染子组件