浅析vue-class-component介绍:用类的方式编写组件
vue-class-component 是 vue 的官方库,作用是用类的方式编写组件。这种编写方式可以让 .vue 文件的 js 域结构更扁平,并使 vue 组件可以使用继承、混入等高级特性。
vue2.x 对 TS 的支持并不友好,所以 vue2.x 跟 TS 的整合,通常需要基于 vue-class-component 来用基于 class(类) 的组件书写方式。
vue英文官网推荐了一个叫 vue-class-component 的包,可以以 class(类) 的模式写vue组件。vue-class-component(以下简称Component)带来了很多便利:
- methods,钩子都可以直接写作class的方法
- computed 属性可以直接通过 get 来获得
- 初始化data可以声明为class的属性
- 其他的都可以放到 Component 装饰器里
vue-property-decorator 是一个非官方库,是 vue-class-component 的很好的补充。它可以让vue的某些属性和方法,通过修饰器的写法让它也写到vue组件实例的类里面。比如 @Prop
@Watch
@Emit。
1、安装下载
npm install vue-class-component vue-property-decorator --save-dev
2、区别与联系
(1)vue-property-decorator - 社区出品;vue-class-component - 官方出品
(2)vue-class-component 提供了Vue、Component等;
(3)vue-property-decorator深度依赖了vue-class-component,拓展出了更多操作符:@Prop、@Emit、@Inject、@Model、@Provide、@Watch;
3、使用方式:开发时正常引入vue-property-decorator就行,引入后写 vue 代码就是如此
import {Component, Prop, Vue} from 'vue-property-decorator'
@Component
export default class App extends Vue {
name:string = 'Simon Zhang'
// computed
get MyName():string {
return `My name is ${this.name}`
}
// methods
sayHello():void {
alert(`Hello ${this.name}`)
}
mounted() {
this.sayHello();
}
}
具体如何使用直接看官网文档吧。这里有一篇文章翻译可以参考学习:《Vue中的Class Component使用指南》
然后现在 vue3.x 已出,对 TS 很友好的支持,所以使用 vue3.x 的话暂时就不需要这种写法了。
» 下一篇: 浅析Vue3相关基础知识点:setup()入口函数、ref()定义响应式数据、reactive()定义多个响应式数据-深层的、toRefs()转换为每个属性都是一个ref、computed()计算属性、watch()监听数据、watchEffect()监听数据变化执行回调、生命周期对比、provide/inject跨层级组件通信
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律