3 回答

TA貢獻1770條經(jīng)驗 獲得超3個贊
您可能會嘗試使用官方文檔中的示例vue-class-component
,但該示例目前適用于 7x 版本,只能與 Vue 2 一起使用。
Vue 3 需要vue-class-component
?8x,尚未記錄,但您可以參考描述更改的vue-class-component
Issue #406 。與您的問題相關(guān)的通知:
@Component
將重命名為@Options
.
@Options
如果您不聲明任何選項,則它是可選的。
Vue
構(gòu)造函數(shù)由包提供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 構(gòu)造函數(shù),而是vue-class-component導出了,因此您的組件將不得不擴展它:
// BEFORE:
import Vue from 'vue'
// AFTER:
import { Vue } from 'vue-class-component'
作為參考,您可以使用Vue CLI?生成一個Vue 3 + TypeScript項目來運行一個使用vue-class-component
上述最新版本的工作示例。

TA貢獻1856條經(jīng)驗 獲得超11個贊
你可以做的:
<script>
import {vue} from 'vue-class-component'
export default class ProdItem extends Vue {?
??
}
</script>

TA貢獻1804條經(jīng)驗 獲得超7個贊
使用裝飾器,您不需要({}). 嘗試
<script>
import Vue from 'vue'
import Component from 'vue-class-component'
@Component // 1st Error '@Component'
export default class ProdItem extends Vue { // 2nd error 'Vue'
}
</script>
添加回答
舉報