getApp获取全局实例和全局变量
发布于 1 年前 作者 zhoutao 2936 次浏览 来自 分享

当需要使用全局变量的时,通过使用全局函数 getApp() 获取全局的实例,并设置相关属性值,来达到设置全局变量的目的

当需要保证全局的数据可以在任何文件中安全的被使用到,那么可以在 App() 中进行设置

app.js

App({

  

  globalData: {

    b_userHasLogin: false,

myself.js

// console.log访问全局变量

var app= getApp()

console.log(app.globalValue) // 输出 globalValue

正确的,有值,修改全局变量之后重新用console打印,也有值

// 本地data存储app在AppData窗口中观测全局变量

var app= getApp()

Page({

  data: {

    app : getApp(),

在其他函数内修改

app.b_userHasLogin = true

窗口观测到的app的值依然未false,修改全局变量之后重新用观测数据依旧没变化

总结:

用C++的指针视角去看JS是有问题的,猜测是paga页面的app构造比较早,大概率和js的数据存储方式有关系

对于全局变量的监控观测方式不对,实际上app的全局变量以及被修改了

使用console观测更准确

1 回复

用C++的指针视角去看JS是有问题的,猜测是paga页面的app构造比较早,大概率和js的数据存储方式有关系

对于全局变量的监控观测方式不对,实际上app的全局变量以及被修改了

使用console观测更准确

回到顶部