收藏
回答

eventChannel.on/once如何重复执行?

第一次进入页面

第二次手动调用this.onLoad

  1. 在onLoad中执行eventChannel.once 监听上个页面传来的数据并同步;
  2. 在特殊场景下可能需要刷新页面重新执行onLoad;
  3. 重新执行后, eventChannel是有值的, 但是因为上个页面的emit没有再次触发, 所以.once/.on不会重新执行了, 有没有什么办法能够在手动调用onLoad的时候再执行一次.on/once?


最后一次编辑于  07-14
回答关注问题邀请回答
收藏

3 个回答

  • 朱兆恩(易做图)
    朱兆恩(易做图)
    07-15

    onshow里面 每次执行

    07-15
    有用
    回复 1
    • BoA
      BoA
      07-15
      我去试试
      07-15
      回复
  • showms
    showms
    07-15

    你可以看下在当前页面能不能拿到上个页面的实例,可以的话就能调他里面的方法触发事件。

    还有一种是把其他页面触发的消息缓存在客户端,在重新刷新调onload时直接读取缓存。

    07-15
    有用
    回复 1
    • BoA
      BoA
      07-15
      是的 我现在是这么做的 第一次把数据缓存了下来, 如果是手动调用的onLoad, 直接使用缓存的数据去更新页面, 只是想看看有没有什么好一点的办法能够重新执行eventChannel的监听
      07-15
      回复
  • 跨商通
    跨商通
    07-15

    上一页传入的参数,不能保存下来吗?

    07-15
    有用
    回复 1
    • BoA
      BoA
      07-15
      是的 我现在是这么做的 第一次把数据缓存了下来
      07-15
      回复
登录 后发表内容