小程序跳转到tabBar页面是不容许传参数的。但是有些项目的逻辑是需要跳到首页根据参数请求数据的。这里就要刷新页面。
B页面不是tabBar里的页面
click:function(){
getApp().globaData.name='张三'
wx.switchTab({
url:'../index/index',
success:function(){
var page=getCurrentPages().pop();
if(page==undefined || page==null){
return
}
page.onLoad();
}
})
}
利用全局申明变量传值,跳转成功后页面刷新
app.js页面
App({
globalData:{
name:''
}
})
index页面接收数据
var app=getApp()
Page({
onload(){
app.globalData.name
}
})
这里有个问题就是,在真机上ios手机没有发现问题,但是在安卓手机上报错,会报参数错误。研究了半天发现不是参数的错误,是刷新这个办法不对。
于是我又在首页的onShow(){}里面写了 onload()
onShow(){
this.onload()
}
这样也能执行到刷新,但是每次进这个页面都会刷新,所有我在onShow()里面写的是我的 请求发法。不会让整个页面去刷新。