vue中ref的使用(this.$refs获取为undefined)


如果你获取到的总是空的,你注意一下:

1、你在哪里调用,和你调用的对象

试试在mounted()里面调用有效果没有

调用的对象是本来就存在的,还是需要数据渲染之后才会出现的,同理,在mounted()里面调用看看

2、调用对象是不是数组列表

    我一开始设置ref在v-for列表上,直接获取this.$refs.name.style,永远是空的,

    后来才发现,this.$refs.name是一个数组,无法通过 .style 获取样式,

    只能遍历这个this.$refs.name数组,在this.$refs.name[index]上设置样式

// 6.14 更新,这个说法有点问题

但是像高度宽度,可以通过offsetHeight,等来获取。

3、调用对象是否和v-if结合使用

  ref不是响应式的,所有的动态加载的模板更新它都无法相应的变化。

解决方案:

  通过

setTimeout(() => {

    }, 0)

来得到数据


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM