vue中 this.$refs的坑

       在开发中,有时需要使用到this.$refs ,用于操作真实的DOM节点。

       说一说我在使用的时候,在开发时碰到了一个小需求,需要子组件向父组件传参,而且是不需要通过事件传递的,一开始使用this.$emit()来写的,但是一直没有接受到参数,于是放弃了使用this.$emit()的使用。

      于是,使用了在父组件中调用子组件的方法,来获取传递的参数。但是还是没有获取到传递过来的参数。之后发现,以下三点小坑坑:

   一 、使用this.$refs如果要在mouend()中使用,必须要在this.$nextTick(()=>{  } )   这里面实现,要不是找不到ref,原因是mouned()之后,BOM节点还没有完全挂载上,于是找不到定义的ref。

 二、 可以直接在updata()的生命周期函数中使用,不用写this.$nextTick(()=>{  } ) 

三、在methods:{  }  方法中使用,也需要使用this.$nextTick(()=>{  } )  等到页面完全渲染完毕之后在调用即可

    这是使用this.$refs时的一些坑,希望对大家有所帮助。欢迎大家评论交流。

你可能感兴趣的:(vue.js)