vue 兄弟组件之间传递参数,a组件调用父组件之后执行多次

1-a组件执行完毕后调用b组件的方法并传递参数,我使用的是事件总线evenbus
这是a组件的触发函数

beforeDestroy () {

vueEvent.$emit('openTournament', 'tournaments')

},

2- b组件接受a的调用之后执行,但是由于b组件里面的是很多tab切页,导致每次切换到当前页的时候,a组件触发的函数又重新执行一遍
这是b组件的接受函数

mounted () {

vueEvent.$on('openTournament', res => {
  this.currentView = res;
  this.isselect = res
})

},

beforeDestroy () {

vueEvent.$off('openTournament', this.myhandle)

},

但是有个问题,虽然b组件正常的触发并接受了a传递的参数

图片描述

点击确定之后,在切换到别的tab页面(比如比分页面),在从比分页面切换到赛事页面的时候那个弹框又出现了(效果是点击确定就不在出现图片描述

阅读 2.2k
2 个回答
新手上路,请多包涵

你可以加个变量, 点击确定之前, 变量是true,点击确定之后,变量是false, 弹框的显示 把这个变量加上去

vuex里弄个状态来确认需不需要弹窗,每次弹窗前判断就是了。

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