老师在尝试使用ref的方法拿到ValidateInput的组件的时候,写的是
const inputRef = ref<any>()
然后我就想知道,如何去表示一个vue组件实例的类型呢?
经过搜索,我尝试写作
const inputRef = ref<ComponentPublicInstance>()
没有报错,但是在调用方法时会报错
// error
// 提示没有这个方法
inputRef.value.validateInput()
,然后我又尝试写作
const inputRef = ref<typeof ValidateInput | null>(null)
这样写也不会报错,但是更诡异的是
// ts不会提示有这个方法
// 但是这么写的话 不会报错
// 很奇怪
(inputRef.value as typeof ValidateInput).validateInput()