vue中this.$refs的坑及解决
vue this.$refs的坑
在开发中,有时需要使用到this.$refs ,用于操作真实的DOM节点。
说一说我在使用的时候,在开发时碰到了一个小需求,需要子组件向父组件传参,而且是不需要通过事件传递的,一开始使用this.$emit()来写的,但是一直没有接受到参数,于是放弃了使用this.$emit()的使用。
于是,使用了在父组件中调用子组件的方法,来获取传递的参数。但是还是没有获取到传递过来的参数。
以下三点小坑坑
1、使用this.$refs如果要在mouend()中使用,必须要在this.$nextTick(()=>{ } ) 这里面实现,要不是找不到ref,原因是mouned()之后,BOM节点还没有完全挂载上,于是找不到定义的ref。
2、可以直接在updata()的生命周期函数中使用,不用写this.$nextTick(()=>{ } )
3、在methods:{ } 方法中使用,也需要使用this.$nextTick(()=>{ } ) 等到页面完全渲染完毕之后在调用即可
vue的坑 this.refs为空
我们在用vue的时候,会遇到一些坑,比如我们使用 this.$refs 获取不到值,页面明明有啊

百思不得其解……原来这个跟Vue的钩子有关系
总结来说
1、必须要等页面中的ref子组件加载完毕,才可以获取到
2、在mounted之前的钩子函数中获取不到
3、组件在v-if为false的父节点下,导致这个子组件未渲染,也是导致获取不到的因素,不要忽视哦
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
vue项目引入百度地图BMapGL鼠标绘制和BMap辅助工具
这篇文章主要为大家介绍了vue项目引入百度地图BMapGL鼠标绘制和BMap辅助工具的踩坑分析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪2023-02-02
Element中el-table动态合并单元格(span-method方法)
本文主要介绍了Element中el-table动态合并单元格(span-method方法),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2023-05-05
Vant 如何修改van-collapse-item右侧图标
这篇文章主要介绍了Vant 如何修改van-collapse-item右侧图标,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2022-04-04
Vue中computed、methods与watch的区别总结
这篇文章主要给大家介绍了关于Vue中computed、methods与watch区别的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Vue具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧2019-04-04


最新评论