总结

所有页面之间通过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。在页面数据发生变化时,同时在另一个页面同步变化。