收藏
回答

'globalData' of undefined

框架类型 问题类型 终端类型 微信版本 基础库版本
小程序 Bug 客户端 模拟器 2.4.0



我在app.js里import了工具类request,

request里使用到了getApp().globalData。

然后在App.js中。

onLaunch: function () {

    request({

            url: 'menus',

            method: 'GET',

        }, true).then((res) => {

            if (res.statusCode === 200) {

                let menus = res.data;

                this.globalData.menu.menus = menus;

            }

        })

},

然后就报了如上错误。是不能交叉引用吗?


回答关注问题邀请回答
收藏

6 个回答

  • 2018-11-13

    问题已经找到,原因为高赞回答。谢谢大家。

    2018-11-13
    有用 2
    回复 2
    • 流利
      流利
      2021-02-08
      哪个高赞啊?乱七八糟的
      2021-02-08
      回复
    • 哄哄
      哄哄
      07-08
      我是在方法中定义var that=this;然后直接使用that
      07-08
      回复
  • 星如夜夏
    星如夜夏
    2018-11-12

    app.js 里面require的模块里getApp().globalData是拿不到的


    2018-11-12
    有用 2
    回复
  • wz.zhao
    wz.zhao
    2018-11-10

    把你的工具类request发出来啊, app.js中import的文件, 不要在文件头使用getApp()

    2018-11-10
    有用 1
    回复
  • 百威
    百威
    2019-07-17

    这个globalData, 开发者工具和真机调试都正常, 但是预览和上传后的测试版和线上版都不正常: 在Page()中无论无论哪个生命周期去获取都会globalData undefined的错误.真实奇了怪了.

    2019-07-17
    有用
    回复 1
    • GHM
      GHM
      2020-09-15
      请问解决了么
      2020-09-15
      回复
  • 奶油小泡 付丶
    奶油小泡 付丶
    2019-03-04

    楼主问题解决了吗?

    2019-03-04
    有用
    回复
  • 老张
    老张
    2018-11-10

    onLaunch: function () {

        let that = this

        request({

                url: 'menus',

                method: 'GET',

            }, true).then((res) => {

                if (res.statusCode === 200) {

                    let menus = res.data;

                    that.globalData.menu.menus = menus;

                }

            })

    },


    2018-11-10
    有用
    回复 14
    • 2018-11-10

      问题并没有得到解决,同样的错误。

      2018-11-10
      回复
    • 痛快科技
      痛快科技
      2018-11-10回复

      是不是没有globalData

      App({

      globalData: {


      },

      onLaunch: function() {

      }

      })


      2018-11-10
      回复
    • 2018-11-10回复痛快科技

      有的。在下面。如果不在onLaunch里调用,在其他地方都ok

      2018-11-10
      回复
    • 东东
      东东
      2018-11-10回复

      你把that打印看看指向的是谁。

      2018-11-10
      回复
    • 2018-11-10回复东东

      let that = this;

      console.log("that's ",that);


      2018-11-10
      回复
    查看更多(9)
登录 后发表内容