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

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

为什么这么说呢
比如:从 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
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值