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();
}
});