this.$refs获取不到dom的可能原因及方法解决

背景

页面一进来初始化之后,需要通过获取this.$refs 调用子组件中的某个方法,但是获取不到,返回undefind

这是我遇到的错误情况

this.$refs获取不到dom的可能原因及方法解决_第1张图片

正确的情况是这样

 

搜索查询原因

ref 需要在dom渲染完成后才会有,在使用的时候确保dom已经渲染完成。比如在生命周期 mounted(){} 钩子中调用,或者在 this.$nextTick(()=>{}) 中调用。
如果ref 是循环出来的,有多个重名,那么ref的值会是一个数组 ,此时要拿到单个的ref 只需要循环就可以了。

根据这个方法测试还是不行

解决方法

==在异步方法里面调用 this.$nextTick(()=>{}) ==

mounted() {
			setTimeout(() => {
				this.$nextTick(() => {
					this.$refs['tabbar1'].initTabbaer()
				})
			}, 100);
		},

你可能感兴趣的:(前端,javascript,开发语言,vue.js)