Vue点击li(不是循环的li),显示子组件莫名其妙的循环

1.子组件,$emit了一个show方法
clipboard.png

2.父组件这边监听这个方法
clipboard.png

3.父组件的监听事件
clipboard.png

4.父组件触发事件的元素
clipboard.png

5.结果:是能实现显示与隐藏,但是console那边会出现死循环,可是我都没有循环过内容,报错如下:
clipboard.png

6.求问是什么问题?┭┮﹏┭┮

阅读 2.4k
3 个回答

父组件里面调用子组件的show方法,子组件再次$emit一个方法给父组件,父组件收到方法之后继续调用子组件,子组件再次emit,这样死循环, 去掉$emit就行

你注释下 后面的 this.$refs.selectDialog.show()
看看效果呢~

this.$refs.selectDialog.show()也是调用子组件的show方法,show方法又触发父组件showSelectDialog方法,so死循环了

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