目前,uniapp开发中,是不支持uni.switchTab直接页面传值的,可以通过本地存储,在页面的 onShow 中处理一些参数信息。但可以用本地缓存存储的方式进行传值:
1、设置本地缓存【uni.setStorageSync(KEY,DATA)】
| 参数 | 类型 | 必填 | 说明 |
| key | String | 是 | 本地缓存中的指定的 key |
| data | Any | 是 | 需要存储的内容,只支持原生类型、及能够通过 JSON.stringify 序列化的对象 |
// 基本语法
try {
uni.setStorageSync('storage_key', 'hello');
} catch (e) {
// error
}2、tabbar页面缓存的获取【uni.getStorageSync(KEY)】
| 参数 | 类型 | 必填 | 说明 |
| key | String | 是 | 本地缓存中的指定的 key |
onShow() {
try {
const value = uni.getStorageSync('index');
if (value) {
console.log(value);
this.TabCur = value;
try {
uni.removeStorageSync('index');
} catch(e) {
// error
}
}
} catch(e) {
// error
}
}3、在页面中获取传参
//获取页面?keyword=df81.com的keyword参数值:p.keyword
onLoad(p) {
var keyword = '';
if(p.keyword){
keyword = p.keyword;
}
}其实,要页面传值的话,我还是推荐uni.navigateTo方式跳转。