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)

来得到数据

猜你喜欢

转载自www.cnblogs.com/xiaoleilei123/p/10855088.html
今日推荐