记录一些微信小程序里面遇到的坑

1.全局变量的坑eg:

   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()就好了

2.跨页面传值的坑eg:

 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,
      })
    }
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容