如何从.vue文件导出多个对象

Art*_*gio 5 javascript typescript vue.js es6-modules vuejs2

我正在使用typescriptVue。对于此特定用例,我想从.vue文件中导出多个项目。像这样:

// FooBar.vue

<template>
    ...
</template>

export class Foo extends Vue {
    foo: string = "foo";
}

export const Bar = {bar: "bar"};
Run Code Online (Sandbox Code Playgroud)

然后像这样导入它们:

// Baz.vue

import { Foo, Bar } from 'FooBar.vue';

@Components({ components: { Foo }})
... // rest of the code
Run Code Online (Sandbox Code Playgroud)

有没有办法从.vueVue中的文件导出多个对象?

Ben*_*ith 6

在您的Vue文件中输入:

class Foo extends Vue {
    foo: string = "foo";
}

const Bar = { bar: "bar" };

export { Bar };
export default Foo;
Run Code Online (Sandbox Code Playgroud)

然后,您可以使用以下命令导入这些文件:

import Foo, { Bar } from 'FooBar.vue';
Run Code Online (Sandbox Code Playgroud)

有关导出工作原理的更多详细信息,请参见此处

  • 我发现了一个问题:`Foo` 必须是 **default export**,否则其他组件将看不到它。 (2认同)