评论

getApp获取全局实例和全局变量

getApp获取全局实例和全局变量失败

当需要使用全局变量的时,通过使用全局函数 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观测更准确


最后一次编辑于  2023-02-20  
点赞 1
收藏
评论

1 个评论

  • 飞奔的刘海
    飞奔的刘海
    2023-02-20

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

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

    使用console观测更准确


    2023-02-20
    赞同
    回复
登录 后发表内容