官方文档里关于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()获取失败了。
因为再调用App()之前引入的这个文件,所以相当于调用App()之前,调用了getApp(),这是我的解决方式,还有一种方式就是给这个文件设置一个初始化的函数,如果时再app.js引入这个文件,就先调用初始函数,初始化函数参数是this,然后把this赋值给文件的app属性
设个倒计时 我试过200ms就可以了(虽然我不知道这么干合不合理xDDDD
解决了吗,我也遇到问题了