详解TypeScript+Vue 插件 vue-class-component的使用总结
程序员文章站
2022-05-31 17:42:04
首先 下载
npm install vue-class-component vue-property-decorator --save-dev
一梭子直接干...
首先 下载
npm install vue-class-component vue-property-decorator --save-dev
一梭子直接干;
其次,咱来说说它们的区别与联系:
vue-property-decorator社区出品;vue-class-component官方出品
vue-class-component提供了vue、component等;
vue-property-decorator深度依赖了vue-class-component,拓展出了更多操作符:@prop、@emit、@inject、@model、@provide、@watch;
开发时正常引入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(); } }
相当于
export default { data () { return { name: 'simon zhang' } }, mounted () { this.sayhello() }, computed: { myname() { return `my name is ${this.name}` } }, methods: { sayhello() { alert(`hello ${this.name}`) }, } }
大佬都说爽的一批;
然鹅菜鸟我遇到问题一堆,以下做个积累总结:
1、写法问题:引入组件和接收父组件传过来的参数
@component({ components: { xxxx }, props: { mapflag: number } })
2、获取refs,在其后面加上as htmldivelement(不知道是不是这插件引起的,懒得管,直接干就是)
let layoutlist:any = this.$refs.layout as htmldivelement
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。