参考文章
https://segmentfault.com/a/1190000015534567
https://my.oschina.net/lpcysz/blog/2980469
使用 TypeScript 写 Vue 组件时,有两种推荐形式:
Vue.extend():使用基础 Vue 构造器,创建一个“子类”。此种写法与 Vue 单文件组件标准形式最为接近,唯一不同仅是组件选项需要被包裹在 Vue.extend() 中。
vue-class-component:通常与 vue-property-decorator 一起使用,提供一系列装饰器,能让我们书写类风格的 Vue 组件。
两种形式输出结果一致,同是创建一个 Vue 子类,但在书写组件选项如 props,mixin 时,有些不同。特别是当你使用 Vue.extend() 时,为了让 TypeScript 正确推断类型,你将不得不做一些额外的处理。
vue-property-decorator社区出品;
vue-class-component官方出品
vue-class-component提供了Vue、Component等;
vue-property-decorator用法
vue-property-decorator深度依赖了vue-class-component,拓展出了更多操作符:
@Prop、@Emit、@Inject、@Model、@Provide、@Watch;
开发时正常引入vue-property-decorator就行
https://www.jianshu.com/p/d8ed3aa76e9b
网友评论