微信小程序踩坑系列(三)—— 带参跳转页面

页面跳转最好不要带参跳转,采用全局变量比较好。

为什么这么说呢
比如:从 A 页面到 B 页面带的对象 c = {name:'小明',age:'18',hobby:'play'},
     从 AA 页面到 B 页面带的对象 d = {pname:'小红',page:'17',phobby:'play'},
对象内部的字段名称不一样,B页面在拿到该对象后解析就蒙了

1.在 A 页面中跳转前设置

wx.navigateTo({
   url: 'B?obj='+JSON.stringify(c)
})

2.在 AA 页面中跳转前设置

wx.navigateTo({
   url: 'B?obj='+JSON.stringify(d)
})

3.在B页面中onLoad()方法中

onLoad(options) {
    this.obj = JSON.parse(options.obj)
    this.name = obj.name 还是 this.name = obj.pname 不好判断是从A页面来的还是AA页面来的
}
但是不传参,直接定义全局变量就方便得多

在全局中定义e ,在 A 页面中跳转前设置

        this.$parent.globalData.e.name = c.name;
        this.$parent.globalData.e.age = c.age;
        this.$parent.globalData.e.hobby= c.hobby;
        wx.navigateTo({
          url: 'B'
        })

在全局中定义e ,在 AA 页面中跳转前设置

        this.$parent.globalData.e.name = d.pname;
        this.$parent.globalData.e.age = d.page;
        this.$parent.globalData.e.hobby= d.phobby;
        wx.navigateTo({
          url: 'B'
        })

在B页面中onLoad()方法中

onLoad() {
    this.obj = this.$parent.globalData.e,
    console.log(obj.name);
    console.log(obj.age);
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1.回退上一级页面 beforePage 1.返回页面同时需要刷新数据 2.回退3级页面 wx.navigate...
    胡自鲜阅读 4,740评论 0 4
  • 好久不见,各位Libre支持者! 这里是给@TzLibre订阅者们的第六周更新: *代币分配* ❗️白名单注册将会...
    TzLibre阅读 288评论 0 0
  • 根据爱因斯坦相对论,人生的每一个时刻都是瞬间即永恒。 北京西站的哪一班车载着你们远离雾霾的天空,我不得而知,也不愿...
    布小鲁阅读 218评论 0 1
  • 算起来十年多了,说起来能好好活到现在已然是奇迹了。 经历了很多,常人心里难以承受的,现在想来,依然是不堪回首。 总...
    国姓公阅读 184评论 0 0
  • 暑期课第一周正式结束,没上日语课是个明智的选择:一来节省了时间,二来让我能把注意力放在微分方程上。(微分方程的老师...
    上海王尔德阅读 589评论 1 1