您的位置:首页 > Web前端 > Vue.js

详解TypeScript+Vue 插件 vue-class-component的使用总结

2019-03-28 10:58 567 查看

首先 下载

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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: