使用场景:比如有A、B、C 三个页面都有收货地址这么一个数据,这个收货地址的数据源是一样的,而这3个页面都可以独立修改收货地址。在其中一个页面修改收货地址后,另外两个页面的收货地址数据也要同步更新。
因为小程序里globalData存储的是全局对象,多个页面使用到的数据我们就放到globalData这里面了。
做法思路:
1.在A页面获取globalData 里的地址存在变量 a,在B页面 获取globalData 里的地址存在变量 b;
2.当在A页面修改了地址后,重新赋值a=新地址,globalData.地址 = 新地址;
3.在打开B页面时,再重新获取最新的地址;
贴上代码:
1.需要先在app.js里定义全局变量:
App({
globalData: {
//收货地址
receivingAddress:{
latitude:23.12463, //纬度
longitude:113.36199, //经度
name:'广州市天河区人民政府',
address:'广东省广州市天河区天府路1号'
}
}
})
2.在需要使用的页面index.js里面定义:(哪个页面需要就在哪个页面加上类如以下的代码即可)
const app = getApp();
Page({
data: {
receivingAddress: app.globalData.receivingAddress
},
onShow(){
/