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

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(); 
    }
});
posted @ 2019-07-17 18:26  麋鹿鲁哟  阅读(6204)  评论(0编辑  收藏  举报