首先申明全局变量在app.js
中申明,如下格式:
App({
globalData: {
// 当前正在播放的歌曲对象
nowPlayingSong: {},
// 播放列表
playingSongList: [],
// 播放模式 random,singleloop,order,listloop,默认随机播放
playingSongMode: 'random'
},
onLaunch: function () {
在app.js
页面调用的话直接使用this.data.属性名
即可。如果是在别的页面想要调用或者修改值,方法如下:
// 获取全部变量
const app = getApp()
...
// 重新给全局变量赋值
app.globalData.nowPlayingSong = item
// 获取全局变量
console.log(app.globalData.playingSongList)
情况一
如果发现获取不到,那么注意检查一下app.js
的onLaunch
方法中有没有这么一句话:
this.globalData = {}
有的话去掉就可以了,不太容易注意到!!!
情况二
有时候在一个方法中,如果有两条语句都在操作全局变量,那么有可能导致全局变量数据错乱,无法获取到具体数据。