目前,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方式跳转。
上一篇: 《建站管家》二次开发文档