vue-class-component


<script lang="ts">
import Vue from 'vue'
import Component from 'vue-class-component'

@Component
export default class App extends Vue {
// 初始化数据
msg = 123

// 声明周期钩子
mounted () {
this.greet()
}

// 计算属性
get computedMsg () {
return 'computed ' + this.msg
}

// 方法
greet () {
alert('greeting: ' + this.msg)
}
}
</script>


改造.vue
  1. <script>标签添加lang="ts"声明
  2. 代码中导入 *.vue 文件的时候,需要写上 .vue 后缀
原因还是因为 TypeScript 默认只识别 .ts 文件,不识别 .vue 文件import Component from 'components/component.vue'