首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从模块导入中破坏

从模块导入中破坏
EN

Stack Overflow用户
提问于 2018-03-20 10:59:22
回答 2查看 1.1K关注 0票数 1

我在一个名为"vuex“的文件夹中有一个index.js,其中包含以下内容

代码语言:javascript
复制
const module = { state, mutations, actions, getters }

export default { module, plugin }

状态、突变、操作从另一个文件中导入。

我试图在另一个文件中获取"state“属性,所以我

代码语言:javascript
复制
import module from './veux'

然后

代码语言:javascript
复制
const { state } = module

然而,state未定义的,这很奇怪,因为console.log(module)向我展示了module.state的存在。

我对ES6-7流很陌生,但是我到底做错了什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-03-20 11:02:53

因为您已经将对象{module, plugin}导出为default export

在进口后

代码语言:javascript
复制
import module from './veux'

模块将具有类似于

代码语言:javascript
复制
module = {
    module: { state, mutations, actions, getters },
    plugin
}

因此,为了访问状态,您将编写module.module.state

代码语言:javascript
复制
const {module: {state}} = module; // nested destructuring
console.log(state)

一种更容易理解和易读的方法是使用名为export的模块导出,如

代码语言:javascript
复制
export const module = { state, mutations, actions, getters }

export default plugin

然后像进口一样

代码语言:javascript
复制
import plugin, { module } from './veux'

之后你就可以做了

代码语言:javascript
复制
const { state } = module;
票数 1
EN

Stack Overflow用户

发布于 2018-03-20 11:06:55

如果你这样做会有用的:

代码语言:javascript
复制
import { module } from './veux';
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49382433

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档