【发布时间】:2021-09-08 13:27:51
【问题描述】:
child.vue:
<script lang="ts">
import { Vue } from 'vue-property-decorator'
@Component
export default class Child extends Vue {
public func(): void {
//
}
}
</script>
parent.vue:
<template>
<child ref="child" />
</template>
<script lang="ts">
import { Vue } from 'vue-property-decorator'
import Child from './child.vue'
export default Parent extends Vue {
public create (): void {
(this.$refs.child as typeof Child).func()
}
}
TSLint 错误:
Property 'func' does not exist on type 'Component<DefaultData<never>, DefaultMethods<never>, DefaultComputed, DefaultProps>'.
如何让 'typeof Child' 被检测为 Class Child?我知道创建一个额外的接口然后导入它可以解决这个问题,但是还有其他方法吗?
【问题讨论】:
标签: javascript typescript vue.js ecmascript-6