在父组件引入子组件,子组件引入dialog是一个弹框。
- prop:[‘flag’]。
- 子组件是一个dialog弹框。
- 现在的效果是:刷新页面,第一次的弹框出现,将弹框关闭之后,再次点击,弹框不出现。 每次传递给子组件的flag值是一样,此时就不会触发子组件里面的 watch:{ flag: ‘changeFlag’ }
指定的changeFlag方法。

解决方法:
a.父组件初始化一个字段:openDetailDialog: false
b.通过以下方式传递给子组件
:open-detail-dialog=“openDetailDialog”
VUE子组件的watch不被触发
c.子组件接收:
VUE子组件的watch不被触发
从而触发watch对应的方法,
d. 关闭子组件弹框时需要注意:
VUE子组件的watch不被触发
给父组件一个事件:
e.父组件接收事件的方法里,对this.openDetailDialog的值取反,
VUE子组件的watch不被触发

此方式解决watch不生效的问题

加一个临时的变量,然后通过对其取反,来保证每一次watch监听的值与上一次不同,从而是watch事件生效。

相关文章:

  • 2021-08-14
  • 2021-11-19
  • 2022-12-23
  • 2022-12-23
  • 2021-06-19
  • 2021-07-30
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-02-06
  • 2021-06-09
相关资源
相似解决方案