因为再调用App()之前引入的这个文件,所以相当于调用App()之前,调用了getApp(),这是我的解决方式,还有一种方式就是给这个文件设置一个初始化的函数,如果时再app.js引入这个文件,就先调用初始函数,初始化函数参数是this,然后把this赋值给文件的app属性[图片]
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()获取失败了。
06-02