[已解决]Vue页面中的this.$refs.xxx为undefined

在Vue.js应用中,遇到首次生成二维码时因this.$refs.qrCodeUrl值为undefined导致的错误。问题源于尝试在DOM未渲染完成时访问ref。解决方案是使用this.$nextTick()确保在DOM更新后执行,从而正确获取到二维码元素。
摘要由CSDN通过智能技术生成

1.页面内容

<div class="qrcode" ref="qrCodeUrl" id="picture"></div>
</div>

2.使用代码

var qrcode = new QRCode(this.$refs.qrCodeUrl, {
    text: codeText, // 需要转换为二维码的内容
    width: 100,
    height: 100,
    colorDark: '#000000',
    colorLight: '#ffffff',
    correctLevel: QRCode.CorrectLevel.H
 })

3.情况说明

2 的使用过程中发现第一次生成二维码,this.$refs.qrCodeUrl的值为undefined,导致报错。

4.解决办法以及说明

(1)ref 是作为渲染结果被创建的,只有等页面加载完成后才能调用this.$refs获取信息。

(2)建议使用 this.$nextTick(_ => {}),在渲染完毕后使用,就可以拿到了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值