关于ts:在typeScriptvue项目中使用ref

60次阅读

共计 500 个字符,预计需要花费 2 分钟才能阅读完成。

因为 vue 我的项目是无奈间接操作 dom 的,然而有时候开发需要迫使咱们去操作 dom。

两个方法,一个是很 low 的再引入 jq,而后通过 jq 来操作,然而这样就失去了咱们应用 vue 的意义
另一个就是增加 ref 属性,对 ref 进行操作。

好了完满解决。

很不巧,新我的项目用的是 vue 还是 vue+typeScript 的,间接,单纯的 this.$refs.xxx 不好用了,报错,辨认不了,很难堪。

通过不懈努力终于找到了在 typeScript+vue 我的项目中应用 ref 的解决办法:

增加一个申明类型,例如:
this.$refs.ceshiREF as HTMLAudioElement
这样是不报错了,然而打印的后果却是 undefined,有点不讲道理的感觉。
起初在一片博客中发现 ref 不是响应式的,无奈对增加了 if 的进行反馈,而我不巧就增加在了有 if 判断的标签下面。
此外 ref 必须要数据渲染之后能力获取到,个别在 mounted 中。
而且也并不是像下面说的那样须要申明一个类型,而是须要申明一个变量:

let el:any = this.$refs.ceshi;
console.log(el)

这样就好了,我喜爱这样,因为非常简单我能够了解。

正文完
 0