当前位置: 首页 > Web前端 > vue.js

走近Ts,用起来很爽,用了之后一直很爽(2)

时间:2023-03-31 22:02:28 vue.js

前言在上面《走近Ts,用了爽,用后一直爽(一)》写了一些Ts的类型、属性等简单语法,以及类、接口等高级用法之后,和装饰品,今天我们就来看看在vue项目中如何使用ts。目前公司项目中使用较多的是vue2.x。Vue是一个渐进式框架。我们也需要循序渐进的学习,所以本文会先针对vue2.x的Ts进行实战,为后面切换到vue3.0打下基础。简介在使用之前,我们需要在项目中安装Ts。我不会详细介绍安装过程。如果只是学习,建议使用vue官方的脚手架,里面有安装Ts的选项。接下来,我们需要安装vue-class-component和vue-property-decorator。安装前先了解下vue-class-component和vue-property-decorator。vue-class-component是vue的官方库,其功能是以类的方式编写的。成分。这种写法让Vue组件可以使用继承、mix-in等高级特性,更重要的是让Vue组件更好的与TS结合。vue-property-decorator来自社区。基于vue-class-component,扩展了@Prop@Emit@Inject等诸多操作符;可以说是vue-class-component的超集,让代码更加简洁明了。在选项中,需要配置装饰器库不支持的属性,比如组件、过滤器、指令等,这两者都离不开装饰器,而装饰器已经在ES提案中。decorator是装饰者模式的实践。装饰器模式怎么样,它是继承的替代方案。动态地为对象添加额外的职责。在不改变接口的情况下增强类的功能。使用组件装饰器可以接收一个对象作为参数,你可以在对象中声明组件、过滤器、指令和其他不提供装饰器的选项。<模板>{{num|addOne('过滤第二个参数')}}

tip:To使用ts,需要将script标签的lang属性值设置为tslifecycle方法、属性computer(计算属性)watch(monitor)tips:onNumChange方法要在@Watch旁边,中间不能有其他代码,方法名可以自定义,没有强制要求ref依赖注入ProvideInjectProp子组接收父组件Parent组件传入的值子组件<模板>

{{msg}}

{{propB}}{{propC}}
Emit向父组件父组件发出方法子组件PropSyncsync修饰符(prop双向绑定)父组件子组件Model实现v-model双向绑定parentcomponentSubcomponentimport{Component,Vue,Model,}from'vue-property-decorator'@ComponentexportdefaultclassHelloWorldextendsVue{@Model('change',{type:Boolean})只读检查!:boolean//v-model}