3 回答
TA贡献1770条经验 获得超3个赞
您可能会尝试使用官方文档中的示例vue-class-component
,但该示例目前适用于 7x 版本,只能与 Vue 2 一起使用。
Vue 3 需要vue-class-component
8x,尚未记录,但您可以参考描述更改的vue-class-component
Issue #406 。与您的问题相关的通知:
@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
上述最新版本的工作示例。
TA贡献1856条经验 获得超11个赞
你可以做的:
<script>
import {vue} from 'vue-class-component'
export default class ProdItem extends Vue {
}
</script>
TA贡献1804条经验 获得超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>
添加回答
举报