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

本文探讨了在Vue.js中使用$refs属性的常见问题及解决策略,包括调用时机、对象类型判断与动态模板更新的处理方法。通过具体实例,如在mounted钩子内调用、处理数组列表及与v-if结合使用的情况,提供了实用的解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

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)

来得到数据

转载于:https://www.cnblogs.com/xiaoleilei123/p/10855088.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值