小程序之如何在子页面中触发父页面中的方法?

小程序在navigateTo跳转的页面返回时,是不会触发任何的事件的,所以在项目开发中,我们可能遇到如下这种问题:

新闻列表页中,点击新闻进入详情页中(wx.navigateTo)。当我们在进入详情页后,需要列表页(父页面)进行刷新或者其他操作。

1、首先我们在列表页(父页)定义一个方法,这个方法和onLoad等生命周期同级。

fatherMethods: function() {
  console.log(123)      
}

2、在子页面的任何需要触发父页面事件的地方,触发方法,例如onload

//获取页面栈  
    var pages = getCurrentPages();
    if (pages.length > 1) {
      //上一个页面实例对象  
      var prePage = pages[pages.length - 2];
      //关键在这里,这里面是触发上个界面的方法  
      prePage.fatherMethods() // 123
    }