小程序全局变量

小程序的全局变量能在页面上使用吗?

在app.json中定义全局变量

//app.js
App({
    data:{
    test:{
      test1:true,
      test2:0.5,
      test3:99,
      test4:2
    }
  }
})

在页面中能改变全局变量的值,现在想在特定页面(main.wxml)中通过全局变量控制页面结构,例如:

 wx:if="{{getApp().data.test.test1}}"

这样好像无效,该怎么做?

每次进来赋值给页面的变量,改变的时候再改变页面的变量,这样就失去了全局变量的意义了

阅读 8.5k
3 个回答

在页面的 onShow 时, 获取对应的变量再设置到页面模块比较合理

记得是要先

var app = getApp()

不能直接用 getApp()

全局变量,最好不要直接在子页面中引用,以免被不小心污染。

如果这个值不需要修改,只是用来判断,那最好把它放到localstorage中存起来,用的时候取出来判断。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题