开发小程序时,我们通常会遇到这样几种情况:
- 当前页面返回上一个页面,执行上一个页面的指定方法
- 当期页面执行某些操作(如删除),返回上一个页面且执行指定方法
仅使用生命周期已经不能满足要求,需要通过使用页面栈来实现以上两种场景的功能,核心代码如下:
//当前页面执行上一个页面固定方法代码
var pages = getCurrentPages();
var prevPage = pages[pages.length - 2]; //上一个页面
prevPage.setData({
back:"0"
});
wx.navigateBack({
delta:1
})
//第一种场景,将以上代码添加在onUnload生命周期函数中
//第二种场景,将以上代码添加在操作函数完成的回调函数中
//上一个页面指定方法代码
Page({
/**
* 页面的初始数据
*/
back:'',
},
onShow: function() {
if(this.data.back=='0'){
//执行指定方法
}
}
}