收藏
回答

getApp()获取不到实例

官方文档里关于getApp()是这么说的:


但是我在demo程序里这么使用getApp(),代码如下:

//app.js

/**

* @fileOverview 微信小程序的入口文件

*/

var qcloud = require('./vendor/wafer2-client-sdk/index');

var config = require('./config');

var comm = require('./comm');


App({

   /**

    * 小程序初始化时执行,我们初始化客户端的登录地址,以支持所有的会话操作

    */

   onLaunch() {

       qcloud.setLoginUrl(config.service.loginUrl);

       comm.demo();

   },

   appData:''

});

--------------------------------------------------------------------------------------------------------

//comm.js

var app = getApp();


function demo() {

 console.log('demo');

 app.appData = 'demo data';

}


module.exports = {

 demo: demo

}


调试的时候发现app是undefined,就是说getApp()获取失败了。


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

3 个回答

  • .
    .
    06-02

    因为再调用App()之前引入的这个文件,所以相当于调用App()之前,调用了getApp(),这是我的解决方式,还有一种方式就是给这个文件设置一个初始化的函数,如果时再app.js引入这个文件,就先调用初始函数,初始化函数参数是this,然后把this赋值给文件的app属性

    06-02
    有用
    回复
  • PPP=3
    PPP=3
    2022-05-19

    设个倒计时 我试过200ms就可以了(虽然我不知道这么干合不合理xDDDD

    2022-05-19
    有用
    回复
  • 回童话镇的邮递员
    回童话镇的邮递员
    2021-10-28

    解决了吗,我也遇到问题了

    2021-10-28
    有用
    回复 2
    • PPP=3
      PPP=3
      2022-05-19
      设个倒计时 我试过 200ms 就可以了(虽然我不知道这么干合不合理 xDDDD
      2022-05-19
      回复
    • 晓晓
      晓晓
      2022-12-30
      设置在哪里啊
      2022-12-30
      回复
登录 后发表内容