前言
通过uni.switchTab跳转到tabber页面比如个人中心页面,更新的数据没有刷新。导致页面的数据还是修改之前的
解决方法
在uni.switchTab()加入回调函数;
uni.switchTab成功跳转后调用success,此时可以拿到跳转后页面的page对象,从而调用页面onLoad方法重载页面。
uni.switchTab({
url: 'pages/mine/index',
success: function (e) {
// pop() 方法用于删除数组其他元素并返回数组的最后一个元素
let currentPage = getCurrentPages().pop(); //当前页面
if (currentPage == undefined || currentPage == null) return;
currentPage.onLoad(); //页面存在刷新当前页面
//currentPage.onShow()
//currentPage.onReady()
// 或者执行其他生命周期刷新
},
});
或者
uni.switchTab({
url: 'pages/mine/index',
success: function (e) {
let data = { id: 0 } //要传递的参数,不能带在url后面
let pages = getCurrentPages(); //当前页面栈
let currentPage = pages[pages.length - 1] //当前页面
if (currentPage == undefined || currentPage == null) return;
currentPage.onLoad(data); //页面存在刷新当前页面
//currentPage.onShow()
//currentPage.onReady()
// 或者执行其他生命周期刷新
},
});
两种方法只是获取当前页面路由地址的方式不一样,而且第二种方法加了传参。文章来源:https://www.toymoban.com/news/detail-515285.html
参考:
getCurrentPages()的总结文章来源地址https://www.toymoban.com/news/detail-515285.html
到了这里,关于uniapp微信小程序切换到tabber页面没有自动刷新的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!