总结
所有页面之间通过app.js里面的globalData全局数据进行数据之间的交互,在不同的个页面之间进行修改后,所有的页面之间都同时发生变化,做到数据之间的同步。
1 2 3 4
| globalData在app.js文件中的声明 App({ globalData: 1 })
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| 在app.js文件中,设置和修改globalData。
设置和其他js文件中设置data值是一样的 App({ globalData: { name: '张三', age: 18 } })
app.js中读取globalData,使用this App({ globalData: { name: '张三', age: 18 }, onLoad: function(){ this.globalData.name = '李四' } })
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| 在其他页面读取以及修改globalData。
不论是读取还是修改,首先需要在应用的页面js文件中,引用app()实例 var app = getApp();
获取globalData var app = getApp();
Page({ onLoad: function() { console.log(app.globalData.name); } })
设置或者修改globalData var app = getApp();
Page({ onLoad: function() { getApp().globalData.name = "王二麻子"; getApp().globalData.favorite = "集邮"; } })
|
注:个人看法
就是你在一个页面修改数据后,全局变量globalData是发生了变化的,但是你要在另一个页面中的onshow里面进行调用,这样的话才能使得另一个页面实时的获取当前的全局变量globalData。在页面数据发生变化时,同时在另一个页面同步变化。