没有合适的资源?快使用搜索试试~ 我知道了~
Vue 解决通过this.$refs来获取DOM或者组件报错问题
18 下载量 7 浏览量
2020-11-20
07:49:07
上传
评论
收藏 50KB PDF 举报
温馨提示
1.关于this.$refs的使用场景 如果ref属性加在普通元素上,那么this.$refs.name则指向该DOM元素 <p ref=”p”>hello</p> <!– this.$refs.p 指向该DOM元素 –> 如果ref属性加在组件上,那么this.$refs.name指向该组件实例 <child ref=”child”></child> <!– this.$refs.child 指向该组件 –> 2.为什么有时候通过this.$refs.name来获取会报错? 一个比较常见的场景:在一个弹窗打开的时候立刻通过this.$refs来
资源推荐
资源详情
资源评论
Vue 解决通过解决通过this.$refs来获取来获取DOM或者组件报错问题或者组件报错问题
1.关于关于this.$refs的使用场景的使用场景
如果ref属性加在普通元素上,那么this.$refs.name则指向该DOM元素
<p ref=”p”>hello</p>
<!– this.$refs.p 指向该DOM元素 –>
如果ref属性加在组件上,那么this.$refs.name指向该组件实例
<child-component ref=”child”></child-component>
<!– this.$refs.child 指向该组件 –>
2.为什么有时候通过为什么有时候通过this.$refs.name来获取会报错?来获取会报错?
一个比较常见的场景:在一个弹窗打开的时候立刻通过this.$refs来获取内容就会出现xxx is undefined的错误
因为ref本身是作为渲染结果被创建的,在渲染的时候是不能访问的,因为他们还不存在!
如果此时代码是需要这样来写代码,那么你可以在DOM渲染完毕后再进行获取
this.$nextTick(() => {
this.$refs.name... //DOM渲染完毕后就能正常获取了
})
补充知识:补充知识:vue ref用法(用法(this.$refs获取为空)获取为空)
//6.14更新
但是有个办法,我们可以使用
this.$nextTick(() => {
// todo
})
setTimeout(() => {
// todo
}, 0)
来得到数据
ref
本身作为渲染结果被创建,在初始渲染的时候不能访问他们,是不存在的
$refs不是响应式的,只在组件渲染完成后才填充
用于元素或子组件注册引用信息,注册完成,将会注册在父组件$refs对象上
如果你获取到的总是空的,你注意一下:
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,等来获取。
资源评论
weixin_38728464
- 粉丝: 1
- 资源: 966
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 没用333333333333333333333333333333
- 基于Vue和SpringBoot的企业员工管理系统2.0版本设计源码
- 【C++初级程序设计·配套源码】第2期-基本数据类型
- 基于Java和Vue的kopsoftKANBAN车间电子看板设计源码
- 影驰战将PS3111 东芝芯片TT18G23AIN开卡成功分享,图片里面画线的选项很重要
- 【C++初级程序设计·配套源码】第1期-语法基础
- 基于JavaScript、CSS、HTML的简易DOM版飞机游戏设计源码
- 基于Java开发的日程管理FlexTime应用设计源码
- SM2258XT-BGA144-4BGA180-6L-R1019 三星KLUCG4J1CB B0B1颗粒开盘工具 , EC, 3A, 94, 43, A4, CA 七彩虹SL300这个固件有用
- GJB 5236-2004 军用软件质量度量
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功