收藏
回答

请问,util.js中定义的方法,如何引入app.js全局变量?

在util.js中定义了方法,想要使用app.js中的全局变量,getApp().globalData.变量名, 系统会报错,那么应该怎么引入?

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

3 个回答

  • 陈宇明
    陈宇明
    2021-08-02

    我刚测试了下,直接引用并没有报错,请问你那边是什么错误?

    //app.js
    App({
      onLaunch: function () {
        this.globalData = {
          user:'test'
        }
      }
    })
    
    
    // util.js
    function test(){
      console.log(getApp().globalData.user)
    }
    export {
      test
    }
    
    // index.js
    import {
      test
    } from '../../utils/utils.js'
    
    onLoad(){
        test()
      }
    
    2021-08-02
    有用 1
    回复 2
    • 柠檬茶
      柠檬茶
      发表于移动端
      2021-08-02
      是的,,辛苦了,我一个是初始加载时候util比app先执行,一个是我自己的问题,有个全局变量设置成undefined了,,没事了,感谢感谢
      2021-08-02
      回复
    • 陈宇明
      陈宇明
      2021-08-02回复柠檬茶
      好的,觉得不错给我点个「有用」,谢谢。
      2021-08-02
      回复
  • Azure
    Azure
    2021-08-02

    建议globalData中先设置个default value

    2021-08-02
    有用
    回复 1
    • 柠檬茶
      柠檬茶
      发表于移动端
      2021-08-02
      好的,谢谢你
      2021-08-02
      回复
  • xplee
    xplee
    2021-08-02

    当参数传递给util中的方法

    2021-08-02
    有用
    回复 6
    • 柠檬茶
      柠檬茶
      2021-08-02
      请问能举例说明吗?没太看懂。。
      2021-08-02
      回复
    • xplee
      xplee
      2021-08-02回复柠檬茶
      getapp只能在页面的js中调用,util中没法使用。所以只能在util中定义一个函数 把你想用的全局变量当函数的参数传给这个函数。在页面js中调用这个函数
      2021-08-02
      回复
    • 柠檬茶
      柠檬茶
      2021-08-02回复xplee
      明白了,参数里可以用,感谢回答,谢谢~~
      2021-08-02
      回复
    • Azure
      Azure
      2021-08-02回复xplee
      getApp是全局方法,在小程序任意js文件中都可以使用
      2021-08-02
      回复
    • 柠檬茶
      柠檬茶
      2021-08-02回复Azure
      好的,谢谢,在函数里可以用,初始化加载util.js时候不能用,util.js比app()先加载
      2021-08-02
      回复
    查看更多(1)
登录 后发表内容