从“ vue-property-decorator”导入{Component,Vue}与从“ vue”导入Vue

时间:2019-11-14 14:35:34

标签: javascript vue.js vuejs2 decorator javascript-decorators

Vuevue-property-decorator导入vue有什么区别和用例?我了解到,在使用Vue装饰器定义自定义组件时,总是需要从vue-property-decorator导入@Component,但是是否有与{{1}相关的意外/不同的事情/场景}这样做时我应该知道的核心?

2 个答案:

答案 0 :(得分:3)

我会说,根据vue-property-decorator的{​​{3}},没有区别。

vue-property-decorator仅执行以下操作:

import Vue, { PropOptions, WatchOptions } from 'vue'
// ...
export { Component, Vue, mixins as Mixins }

可能这样做是为了减少代码中的导入次数:

import {Vue, Smth1, Smth2}` from 'vue-property-decorator';

vs

import Vue from 'vue';
import {Smth1, Smth2} from 'vue-property-decorator';

答案 1 :(得分:0)

假设您有一个名为“ some-module”的非常简单的模块,其中有:

var foo = 'bar';
export default foo;
export function helloWorld () { ... };

当您这样做:

import something from 'some-module';

您仅导入“ some-module”的默认导出。在这种情况下,它是字符串foo。默认导出可以是任何内容,对象,函数等。

当您这样做:

import {helloWorld} from 'some-module';

您要专门导入名为“ helloWorld”的“某些模块”的成员,而不是默认的导出。在这种情况下,它就是函数“ helloWorld”。

如果您已完成:

import {something} from 'some-module';

“某物”将为“未定义”,因为该名称没有导出。

您可以阅读更多here