如何uni.navigateBack返回上一页后手动调用上一页的onShow生命周期函数
时间: 2023-11-09 07:05:02 浏览: 130
如何简单的实现UINavigationViewController侧滑返回上一页功能
5星 · 资源好评率100%
你可以在当前页面使用uni.navigateBack方法返回上一页,然后在上一页的onShow生命周期函数中加入判断逻辑,判断当前页面是否是由返回操作跳转而来,如果是则执行相应的代码。具体做法如下:
1. 在当前页面使用uni.navigateBack方法返回上一页:
```
uni.navigateBack({
delta: 1,
success: function () {
console.log('返回成功');
}
});
```
2. 在上一页的onShow生命周期函数中加入判断逻辑:
```
onShow: function () {
// 判断是否是由返回操作跳转而来
if (getCurrentPages().length < getCurrentPages()[getCurrentPages().length - 2].__route__) {
console.log('从下一页返回到当前页');
// 执行相应的代码
}
}
```
注意,以上代码中getCurrentPages方法可以获取当前所有已经打开的页面栈,length属性表示当前页面栈的长度,__route__属性表示当前页面的路径,getCurrentPages()[getCurrentPages().length - 2]表示上一页的页面路径。使用这种方法可以在返回操作时获取上一页的路径,从而实现上一页的onShow生命周期函数的调用。
阅读全文