微信小程序对全局变量的引用和赋值
全局变量
在小程序中可以通过全局变量来实现从A页面到B,C,D…页面之间参数的传递,但容易出现参数传递不成功或者参数不能正确更新(A的参数第一次能成功传到B页面,但当A页面更改了全局变量的值,新的值不能正确传到B页面)的坑。下面介绍具体的代码实现
app
首先在app.js 里对全局变量进行定以
App({
onLaunch: function () {
},
globalData: {
age: "18"
}
})
Pages/index/index.js
我们将index看作A页面
首先在该文件下声明var app=getApp(); 然后
对全局变量进行引用和赋值
//将全局变量的值赋给页面的一个变量
//index.js
var app = getApp()
Page({
data: {
age: ""
},
onLoad: function () {
this.setData({
age: app.globalData.age,
});
}
})
//更改全局变量的值
var app = getApp()
Page({
data: {
age: ""
},
onLoad: function () {
app.globalData.age="20"
console.log(app.globalData.age)
}
})
##页面间传递参数
在app.js中定义了全局变量age:null;在A页面中给它赋值,,然后在B页面中调用age,若结果的值依然是null,则在B页面添加以下代码:
//logs.js
var app=getApp()
Page({
data: {
age: ""
},
onShow: function () {
this.setData({
age: app.globalData.age
});
}
})