var app = getApp()
console.log(app.globalData.a) //假如这时候值是1
//然后我需要在别的地方修改globalData
//比如是另一个页面,我再次:
var app2 = getApp()
app2.globalData.a = 2
//然后我回到上一页或者回到第一个app那
console.log(app.globalData.a) //此时的值还是1
为啥说他坑呢,因为ide里是会跟着变的,而真机里不会(可能是新版微信的缘故,这我也不太确定,毕竟升完级懒得降了)。解决方案很简单,在需要用到修改后的app的地方重新getApp()就好了
wx.navigateBack({
delta: 1,
success: function (e) {
var pages = getCurrentPages();
if (pages[pages.length - 1].route == 'pages/x/x') {
pages[pages.length - 1].setData({
needBackData: something
})
}
}
})
以前或者说在模拟器里这样给前一个页面传值没有问题,但是现在在真机里传不过去了,需要先传值再返回上一页:
var pages = getCurrentPages();
if (pages[pages.length - 2].route == 'pages/x/x') {
pages[pages.length - 2].setData({
needBackData: something
})
wx.navigateBack({
delta: 1,
})
}