Vue CLI 内置了 TypeScript 工具支持。在 Vue 的下一个大版本 (3.x) 中也计划了至关多的 TypeScript 支持改进,包括内置的基于 class 的组件 API 和 TSX 的支持。vue
methods
能够直接声明为类成员方法。
npm
<script lang="ts"> import { Component, Prop, Vue } from 'vue-property-decorator'; @Component({ props:{ msg: String } }) export default class HelloWorld extends Vue { // @Prop() private msg!: string; // method greet () { alert('greeting: ' + this.msg) } } </script>
能够将计算属性声明为类属性访问器。babel
<script lang="ts"> import { Component, Prop, Vue } from 'vue-property-decorator'; @Component export default class HelloWorld extends Vue { // @Prop() private msg!: string; // computed get computedMsg () { return 'computed ' + this.msg } } </script>
Initial data
能够声明为类属性(若是使用Babel,则须要babel-plugin-transform-class-properties)。
函数
<script lang="ts"> import { Component, Prop, Vue } from 'vue-property-decorator'; @Component export default class HelloWorld extends Vue { // @Prop() private msg!: string; // initial data msg = 123 } </script>
data
,render
而且全部Vue生命周期钩子也能够直接声明为类成员方法,可是您不能在实例自己上调用它们。声明自定义方法时,应避免使用这些保留名称。工具
对于全部其余选项,将它们传递给装饰器函数。this