收藏
回答

getApp()获取的到底是哪些数据?

查了官方文档:通过全局函数 getApp 可以获取全局的应用实例

那么这个全局的应用实例指的是什么实例呢?官方的程序片段只是在app.js中定义了一个变量然后在其他js文件中调用了,那如果是其他js文件定义的内容,可以在任意一个js文件中调用吗?(当然这个我可以自己测试),另外getApp一般会在什么时候应用?

期待有高手能耐心指导我这个小白,谢谢谢谢!!!

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

5 个回答

  • Sven scum་ཅ་
    Sven scum་ཅ་
    06-24


    app.js一般用来封装方法(登录/授权/get请求/put/请求/post/请求/等)

    getApp一般放在某页面顶部(代表引用app.js)

    这样你就能在这个页面调用app的封装

    (app封装)

    (页面调用)

    06-24
    有用 1
    回复 4
  • Admin²⁰²⁰
    Admin²⁰²⁰
    06-24

    app.js场景举个栗子:

    小程序里多个页面需要获取用户手机型号。那么可以在app.js里onLaunch里就执行一次获取手机信息的api并保存到app.js里面定义的全局变量里,其他页面要用的时候直接引用getApp().globalData.mobileInfo里面的信息了而不用再在页面里写代码获取手机信息,因为再写代码,一个是重复造轮子了,一个是浪费性能和占用资源

    那如果是其他js文件定义的内容,可以在任意一个js文件中调用吗?(

    其他的js你需要在使用的页面require下就可以使用了。具体可以百度require的用法

    06-24
    有用 1
    回复 2
    • 陈Zj
      陈Zj
      06-24
      感谢,你这么一说我就马上明白了,所以getApp实际上还是针对app.js中的公用方法和变量的,方便重复调用
      06-24
      回复
    • Admin²⁰²⁰
      Admin²⁰²⁰
      06-24回复陈Zj
      可以这样理解
      06-24
      回复
  • 11110111001011110111001110111
    11110111001011110111001110111
    06-24
    app.js 
    
    globalData:{
      user:{}
    },
    setUser(user){
      this.globalData.user = user
    }
    
    pageA.js
    
    onShow(){
      getApp().setUser({name:'陈Zj',age:18})
    }
    
    pageB.js
    
    onShow(){
     console.log(getApp().globalData.user)
    }
    


    一些共用的方法和变量可以封装到里边

    06-24
    有用 1
    回复
  • 祺爸💎
    祺爸💎
    06-24

    一般是在app.js里定义一些全局通用的方法,存储一些全局通用的数据,方便多页面调用

    若认为该回答有用,给回答者点个[ 有用 ],让答案帮助更多的人

    06-24
    有用 1
    回复
  • 老张
    老张
    06-24

    console.log(getApp())

    06-24
    有用
    回复
登录 后发表内容
问题标签