收藏
回答

在APP.JS中的 wx.xxx 函数里如何修改全局变量

问题模块 框架类型 API/组件名称 终端类型 微信版本 基础库版本
API和组件 小程序 一个地图导航 工具 6.6.5 1.02


像这样写。 会报错 ,提示是这样的

Cannot set property 'la' of undefined;at App onLaunch function;at api getLocation success callback function

TypeError: Cannot set property 'la' of undefined


求解哇。新手求大神带路

最后一次编辑于  2018-03-07  (未经腾讯允许,不得转载)
邀请回答
复制链接收藏投诉关注问题回答

7 个回答

  • 严涛
    严涛
    2018-03-07

    我想用 wx.getLocation()这个函数去修改 data{} 里面的值。但是总是报错

    2018-03-07
    赞同
    回复
  • LQ
    LQ
    2018-03-07

    this.setData({la:***)}

    需要这样修改 不能直接赋值


    2018-03-07
    赞同
    回复
  • 张文
    张文
    2018-03-07

    在getLocation函数外层加上var that = this,

    然后把你现在代码里的this改为that


    你现在代码里的this已经不是指的page了,你先改了试试看


    2018-03-07
    赞同
    回复
  • 严涛
    严涛
    2018-03-07

    上面两个方法都试了。还是修改不了。。。

    2018-03-07
    赞同
    回复
  • 张文
    张文
    2018-03-07

    App({
      onLaunch: function () {
        var that = this;
        wx.getLocation({
          type: "wgs84",
          success: function (res) {
            that.Data.Location = res;
            console.log(that.Data.Location)
          }
        })
       
      },
      Data: {
        Location: null
      }
    })


    2018-03-07
    赞同
    回复
  • 严涛
    严涛
    2018-03-07

    好像是正确的。我刚刚得到正确结果了。但是我其他地方还有BUG

    2018-03-07
    赞同
    回复
  • van
    van
    2018-03-09

    看看this的指向,修改的是page的data的话要看this是否指向page,指向没问题的话有个修改data的方法setdata


    2018-03-09
    赞同
    回复