uniapp uni.navigateBack()返回刷新

刷新 A页面
methods: {
	getList(){
	}
}
从B页面执行完返回
let pages = getCurrentPages();
let prevPage = pages[pages.length - 2]
uni.navigateBack({
	delta:1,
	success() {
		prevPage.$vm.getList() //调用A页面方法
	}
});
uni.navigateBack()方法在uni-app中用于返回上一页面。然而,有时候在刷新当前页面后,使用该方法无法返回上一页面。这个问题可以通过以下几种方法解决。 一种解决方法是使用原生的history对象来替代uni.navigateBack()方法。可以封装一个兼容uni-app API和原生JS的返回方法,如下所示: ```javascript const navigateBack = (params) => { const pages = getCurrentPages() if (pages.length === 1) { if (typeof params === 'number') { history.go(-params) } else { history.back() } } else { uni.navigateBack() } } ``` 这个方法会先判断当前页面的数量,如果只有一个页面,则使用原生的history对象进行返回操作;如果有多个页面,则使用uni.navigateBack()方法进行返回操作。这样可以解决刷新页面后无法返回的问题。\[3\] 另一种解决方法是在返回的方法中进行替换。可以使用以下代码来判断是否可以返回上一页面,并进行相应的操作: ```javascript let canNavBack = getCurrentPages() if (canNavBack && canNavBack.length > 1) { uni.navigateBack() } else { history.back() } ``` 这段代码会先获取当前页面的数量,如果大于1,则使用uni.navigateBack()方法进行返回操作;如果等于1,则使用history.back()方法进行返回操作。这样也可以解决无法返回上一页面的问题。\[2\] 综上所述,以上两种方法都可以解决uni.navigateBack()无法返回上一页面的问题。你可以根据自己的需求选择其中一种方法来解决该问题。 #### 引用[.reference_title] - *1* [uni-app中使用uni.navigateBack()方法返回上一页面时,如果刷新当前页面则出现无法返回上一页面问题](https://blog.csdn.net/C_B_Y/article/details/125720619)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [uniapp刷新页面后使用uni.navigateBack()无法返回上个页面](https://blog.csdn.net/weixin_67434908/article/details/129204627)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [uniapp-H5页面刷新返回失效,页面栈清空问题,navigateBack失效问题](https://blog.csdn.net/qq_43205326/article/details/125159266)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值