收藏
回答

A、B页面同时引用相同组件,从B返回A后依旧触发B组件函数,页面间的事件监听没有隔离?

创建组件:

组件内部触发事件:

A、B页面同时引用了city-select组件:

A、B页面创建监听组件事件:

我在A、B两个页面都引用了custom-city-select组件并创建了事件监听,从A -> B后在B页面点击了custom-city-select组件,返回A后再点击A页面的city select组件却调用了B页面的handleCustomCityEvent监听事件,A组件监听事件一直未生效。感觉是两个页面事件监听没有隔离导致,一直找不出原因。

最后一次编辑于  2023-06-03
回答关注问题邀请回答
收藏

1 个回答

  • Demons
    Demons
    2023-06-02

    请具体描述问题出现的流程,并提供能复现问题的简单代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)。

    2023-06-02
    有用
    回复 1
    • 一路向北
      一路向北
      2023-06-03
      找到原因了,是因为在组件component外创建了that变量,B页面返回A页面后,that没有重新指向A页面组件,仍旧指向B页面组件。A、B页面都引用了同一个组件,从B页面返回A页面后,组件that变量被B页面组件的that覆盖了,导致A页面that一直指向B页面组件。在A页面组件触发事件时重新that=this就没问题了。不知道这个是不是bug。
      2023-06-03
      回复
登录 后发表内容