uni-app h5端跳转到底部导航栏的时候使用方法uni.switchTab跳转刷新页面更新数据

时间:2021-08-25 04:25:18

h5端的uni-app项目

需求:uni-app h5端跳转到底部导航栏的时候使用方法uni.switchTab跳转刷新页面更新数据

百度的方法如下:

uni.switchTab({
url: '/pages/index/main',
success: function (e) {
var page = getCurrentPages().pop();
console.log('page',page)
if (page == undefined || page == null) return;
page.onLoad();
}
})

但是在我这运行的时候就会报错,说t.onLoad is not a function

在我输出后判断出来page获取到的节点错误了

getCurrentPages()获取到的是两个节点,第一个节点才是真正的page节点,而page获取到的节点是第二个的节点

粗暴点的办法是:

var page = getCurrentPages()[0]

温柔点的就是:

let le = getCurrentPages()
le.pop()
var page = le.pop()

此处不懂得可以去搜pop()的用法

然后继续是page.onLoad(),我发现是不能获取到的,所以我改为page.ceshi(),在ceshi()方法里编写了刷新数据的方法,因此此问题得以解决。

最后的代码如下:

uni.switchTab({
url: '/pages/tabBar/order/order',
success: function (e) {
var page = getCurrentPages()[0]
if (page == undefined || page == null) return;
page.ceshi();
}
});

uni-app h5端跳转到底部导航栏的时候使用方法uni.switchTab跳转刷新页面更新数据