页面跳转最好不要带参跳转,采用全局变量比较好。
为什么这么说呢
比如:从 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);
}