评论

如何在父页面里关闭子页面?

看到有人问这样的问题,随笔写了下来。

在父页面里根据某种条件,关闭打开的子页面,简单代码如下:

父页面A:test.js

  onNavigateToChildPage:function(){
    wx.navigateTo({
      url: './test2',
      success:res=>{
        this.ecOfChild = res.eventChannel
      }
    })
    setTimeout(() => {
      this.onCloseChildPage()
    }, 5000)//5秒后关闭子页面
  },
  onCloseChildPage:function(){
    this.ecOfChild.emit('closePage','传入的参数')
  },


子页面B:test2.js

  onLoad: function (options) {
    this.getOpenerEventChannel().on('closePage',e=>{
      console.log(e)//同时传递参数
      wx.navigateBack()
    })
  },

最后一次编辑于  2021-01-14  
点赞 2
收藏
评论

1 个评论

  • 少侠
    少侠
    2021-01-14

    父页面和子页面有什么关系?只有入栈的先后顺序吧

    2021-01-14
    赞同 1
    回复 4
    • 老张
      老张
      2021-01-14
      这个描述,也有歧义吗?父页面和子页面的说话,应该不可能理解成其他情况吧?
      2021-01-14
      回复
    • xac
      xac
      2021-01-18回复老张
      ecOfChild这个是哪里来的  小程序自带的属性?
      2021-01-18
      回复
    • 老张
      老张
      2021-01-18回复xac
      解释不如走一遍代码。就是一个变量,你随便拼
      2021-01-18
      回复
    • xac
      xac
      2021-01-18回复老张
      谢了  解决了
      2021-01-18
      回复
登录 后发表内容