4.4.7 标注返回值
优质
小牛编辑
155浏览
2023-12-01
因为 Vue 的声明文件天生就具有循环性,TypeScript 可能在推断某个方法的类型的时候存在困难。因此,你可能需要在render
或computed
里的方法上标注返回值。
import Vue, { VNode } from 'vue' const Component = Vue.extend({ data () { return { msg: 'Hello' } }, methods: { // 需要标注有 `this` 参与运算的返回值类型 greet (): string { return this.msg + ' world' } }, computed: { // 需要标注 greeting(): string { return this.greet() + '!' } }, // `createElement` 是可推导的,但是 `render` 需要返回值类型 render (createElement): VNode { return createElement('div', this.greeting) } })
如果你发现类型推导或成员补齐不工作了,标注某个方法也许可以帮助你解决这个问题。使用--noImplicitAny
选项将会帮助你找到这些未标注的方法。