vue.js $refs 偶尔为空

clipboard.png

一直刷新 情况下 this.$refs 偶尔会为空,
导致报错
clipboard.png

这是偶尔为空的状态
clipboard.png

这是正常状态

clipboard.png

朋友们帮我看下呢

阅读 15.4k
3 个回答

应该是组件还没有mount就调用了这个方法了, 你要在生命周期钩子里等组件 mount 然后才能调用这个方法

也可能是父组件通过ref调用子组件的方法,而子组件的方法里也用ref调用孙组件的方法
此时孙组件尚未mounted,所以会出现取不到问题
遇到这种情况在子组件里判断有木有ref有的话就调用孙组件方法没有就不处理(即孙组件的默认状态)
也可以在孙组件的mounted里面emit一个方法,让子组件去回调
我最近碰到的就是这个问题

dom更新后在执行?
试试
this.$nextTick(function() {

this.$refs.....

})

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题