在粗略的伪代码中,如果我做这样的事情:
<v-menu
ref="dmenu"
other="stuff here"
@change="save"
>
然后稍后引用它:
save(val: string) {
this.$refs.dmenu.save(val)
}
我收到错误"类型'元素'上不存在属性'保存'">
是否可以声明this.$refs.
上的项目属于任何类型?
这有效:
save(val) {
const m = this.$refs.dmenu as any
m.save(val)
}
但这似乎是一行额外的代码,只是为了让 Typescript 满意。
您必须将元素的类型指定为VMenu,然后访问其上的方法,否则您必须将标记的 ref 指定为 any。
(this.$refs.dmenu as any).save(val)