Возможно, вы пытаетесь использовать пример из официальных vue-class-component
документов, но в настоящее время это для версии 7x, которую можно использовать только с Vue 2.
Vue 3 требует vue-class-component
8x, который еще не задокументирован, но вы можете обратиться к vue-class-component
Issue № 406 a > который описывает изменения. Уведомления, относящиеся к вашему вопросу:
@Component
будет переименован в @Options
.
@Options
является необязательным, если вы не объявляете с ним никаких параметров.
- Конструктор
Vue
предоставляется из пакета vue-class-component
.
Поскольку у вашего компонента нет параметров, вы можете просто опустить декоратор @Options
в своем компоненте:
// BEFORE:
import Component from 'vue-class-component'
@Component
class {}
// AFTER:
/* no options used, so no @Options decorator needed */
class {}
Кроме того, Vue 3 больше не экспортирует конструктор Vue, но vue-class-component
делает это, поэтому вашему компоненту придется его расширить:
// BEFORE:
import Vue from 'vue'
// AFTER:
import { Vue } from 'vue-class-component'
Для справки вы можете использовать Vue CLI для создания проекта Vue 3 + TypeScript. чтобы поиграть с рабочим примером, в котором используется последняя версия vue-class-component
, как описано выше.
person
tony19
schedule
10.10.2020