记录一下uni-app.switchTab 跳转刷新的问题。
需求:
刷新的时候需要修改数据,刷新数据等。
百度的方法:

uni.switchTab({
	url:"../home/home",
	success(res) {
		console.log('跳转成功')
        let data={
            reload:1
        }
        let page = getCurrentPages().pop();
        //data可不传值
        page.onLoad(data);
	}
})

这个方法本身是没有问题的。通过uni-app的getCurrentPages(),去获取当前页面的内容。
但,要按照需求去分析。
这里踩雷分享~~~~~~~~做好了。
第一:

H5

在H5的请求下直接用上诉的代码是会直接报错。提示。

page.onLoad() not found

无法找到。通过打印page信息获得内容
在这里插入图片描述
在上图的page打印内是查找不到onload这个方法的,但是我们能看到他把Home这个界面下的自定义的方法显示出来了。
所以H5的调用方式修改如下:

uni.switchTab({
	url:"../home/home",
	success(res) {
		console.log('跳转成功')
        let page = getCurrentPages().pop();
        //data可不传值
        page.goDzList();
	}
})
这里直接调用Home界面下的goDzList方法刷新数据即可。
如果你还有别的操作可以自定义个方法去解决。

接下来:

微信小程序

小程序的调用方式,就可以直接用第一种百度的方式了,附带截图送上。
在这里插入图片描述
这里可以看到,内置的函数都是Home本身自带的,那么这里就可以直接调用。** onLoad ** 这个函数了。
然后你就可以在Home界面下编写内容了。

let routes = getCurrentPages(); // 获取当前打开过的页面路由数组
let curParam = routes[routes.length - 1].options;
console.log(curParam.name);//传递过来的data参数,可以看第一张图片

至此解决问题~~~~
APP的其他小程序的还没有调试~目前没有碰到问题。
有了解的朋友也可以补充一下~~~~~~

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐