uniapp开发小程序 history.back()后不刷新页面怎么解决
时间: 2023-12-11 22:03:01 浏览: 103
在uni-app中使用`uni.navigateBack()`返回上一页时,页面不会刷新的原因是因为返回的页面是从缓存中读取的,而不是重新加载。
解决方法有两个:
1. 在返回页面的`onShow`生命周期函数中,手动刷新页面。可以在`onShow`中重新加载数据或调用`this.$forceUpdate()`方法强制组件重新渲染。
2. 在返回页面时,添加一个随机参数,使得每次返回时都会重新加载页面。例如:`uni.navigateBack({url: '../index/index?random=' + Math.random()})`
希望我的回答能够对你有所帮助。
相关问题
uniapp开发小程序 history.back后不刷新页面怎么解决
在uniapp中使用`uni.navigateBack()`或`uni.navigateBack({delta: 1, animationType: 'pop-out'})`返回上一页时,页面不会刷新的原因是因为返回的页面是从缓存中读取的,而不是重新加载。
解决方法有两个:
1. 在返回页面的`onShow`生命周期函数中,手动刷新页面。
2. 在返回页面时,添加一个随机参数,使得每次返回时都会重新加载页面。例如:`uni.navigateBack({url: '../index/index?random=' + Math.random()})`
希望我的回答能够对你有所帮助。
uniapp使用history.back()返回上一页陷入循环
这可能是因为你的代码中存在某些问题,导致历史记录中的页面被重复添加,从而导致 `history.back()` 陷入循环。你可以尝试以下方法来解决这个问题:
1. 检查页面跳转的逻辑,确保没有重复添加历史记录的代码。
2. 尝试使用 `history.replaceState()` 方法替换历史记录,而不是使用 `history.pushState()` 方法添加历史记录。
3. 如果你使用了第三方路由库,可以查看它们的文档,找到解决循环问题的方法。
4. 尝试使用其他的页面跳转方式,比如使用 `window.location.href` 或者 `window.location.replace()` 等方法来进行页面跳转。
希望以上方法可以帮助你解决问题。如果问题仍然存在,请提供更多的代码和错误信息,我会尽力帮你解决问题。