小程序提供了全局的 getApp() 方法,可获取当前小程序实例,一般用于在子页面中获取顶层应用。
var app = getApp();console.log(app.globalData); // 获取 globalData
使用过程中,您需要注意以下几点:
App()函数中不可以调用getApp(),可使用this以获取当前小程序实例。- 通过
getApp()获取实例后,请勿私自调用生命周期回调函数。 需区分全局变量及页面局部变量,例如:
// a.js// localValue 只在 a.js 有效var localValue = 'a';// 获取 app 实例var app = getApp();// 拿到全局数据,并改变它app.globalData++;
// b.js// localValue 只在 b.js 有效var localValue = 'b';// 如果 a.js 先运行,globalData 会返回 2console.log(getApp().globalData);
a.js和b.js两个文件中都声明了变量localValue,但并不会互相影响,因为各个文件声明的局部变量和函数只在当前文件下有效。
该文章对您有帮助吗?