测试步骤(每次页面后建议回到首页刷新再开始):
请按键按钮编号依次点击(数字为按钮编号)
注意观察点击3按钮时,会不会触发事件。
1->2->4->3 = 不会触发事件
1->2->5->3 = 不会触发事件
1->2->6->3 = 会触发事件(但是这个是会先卸载组件再创建一次组件,所以这个也不是很好。)
1->3 = 正常触发事件(但是这个是没有跳转到普通页面。这样也不行。)
- 发布:2024-04-19 13:20
- 更新:2024-04-20 10:47
- 阅读:509
产品分类: uniapp/H5
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: 11
HBuilderX类型: 正式
HBuilderX版本号: 4.08
浏览器平台: Chrome
浏览器版本: 123.0.6312.123
项目创建方式: HBuilderX
操作步骤:
预期结果:
能正常触发事件
能正常触发事件
实际结果:
不会正常触发事件
不会正常触发事件
爱豆豆 - 办法总比困难多
所以你的问题是
1->2->4->3和1->2->5->3的时候主页的子组件并没有触发销毁相关的生命周期 对吧?
页面关闭时 主动销毁子组件 你试试下面的方式 是不是你想要的效果
组件又没有显示和隐藏事件,只要最开始加载的事件,可以父级子级创建一个显示和隐藏方法,然后父级显示隐藏切换不同组件使用ref调用子组件的方法
-
阿全uniapp (作者)
兄弟,你可能没看明白,@爱豆豆 的图片是一个PAGE页,这个页面是有页面事件的。而且你说的是啥意思,我也没太明白。我的问题是组件的事件触发有问题。而不是页面事件有问题。因为我的子组件中有大量的销毁事件,也就是说,在这个PAGE中,调用了很多子组子,而有些子组件需要在销毁时作一些处理。而我遇到的是没有触发这些销毁事件。明白了吗
2024-04-20 10:42
阿全uniapp (作者)
感谢提供思路。这也是一个解决方案。不过最好是能自动触发事件。目前暂时选这样处理吧。
2024-04-19 14:08