为了账号安全,请及时绑定邮箱和手机立即绑定

vue+typescript项目中用this.$refs和原生方法获取的dom有什么区别

vue+typescript项目中用this.$refs和原生方法获取的dom有什么区别

慕雪6442864 2019-03-08 15:11:50
项目中使用vue+typescript使用this.$refs.refsName和document.querySelector打印出来的结果是一样的但是当使用API是。$refs获得的DOM就报错:请问是需要在ts项目中添加什么ts相关的配置吗?Property 'getBoundingClientRect' does not exist on type 'Vue | Element | Vue[] | Element[]'.  Property 'getBoundingClientRect' does not exist on type 'Vue'.any    let el = this.$refs.refsName    console.log('el:', el);    let element = document.querySelector('.content-box')    console.log('element:', el);    console.log(element['style'].width)    // 1.element 调用API正常    console.log(window.getComputedStyle(element).width)    console.log(element.getBoundingClientRect())        // 2.el 调用报错    // Property 'getBoundingClientRect' does not exist on type 'Vue | Element | Vue[] | Element[]'.Property 'getBoundingClientRect' does not exist on type 'Vue'.any    // console.log(el.getBoundingClientRect())     // console.log(window.getComputedStyle(el).width)知道了,要把let el = this.$refs.refsName改为:let el: any = this.$refs.refsName,定义一个类型
查看完整描述

2 回答

?
倚天杖

TA贡献1828条经验 获得超3个赞

typescript 是强类型语言 你这属于 类型不明确的问题


查看完整回答
反对 回复 2019-03-13
  • 2 回答
  • 0 关注
  • 5601 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信