微信公众号开发

微信小程序全局数据

本文主要是介绍微信小程序全局数据,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
App({
  onLaunch: function(options) {},
  onShow: function(options) {},
  onHide: function() {},
  one rror: function(msg) {},
  globalData: 'I am global data'
})

  宿主环境提供了 App() 构造器用来注册一个程序App,需要留意的是App() 构造器必须写在项目根目录的app.js里,App实例是单例对象,在其他JS脚本中可以使用宿主环境提供的 getApp() 来获取程序实例。

  tap(){
    // 点击事件获取全局数据
    console.log("单击");
    console.log(getApp().globalData);
  },
  • onLaunch: 当小程序初始化完成时,会触发 onLaunch(全局只触发一次)
  • onShow:当小程序启动,或从后台进入前台显示,会触发 onShow
  • onHide:当小程序从前台进入后台,会触发 onHide
  • onError:当小程序发生脚本错误,或者 API 调用失败时,会触发 one rror 并带上错误信息。
  • 其他字段:可以添加任意的函数或数据到 Object 参数中,在App实例回调用 this 可以访问。

小程序全局数据

  我们在前面说到小程序的JS脚本是运行在JsCore的线程里,小程序的每个页面各自有一个WebView线程进行渲染,所以小程序切换页面时,小程序逻辑层的JS脚本运行上下文依旧在同一个JsCore线程中。

  在上文中说道App实例是单例的,因此不同页面直接可以通过App实例下的属性来共享数据。App构造器可以传递其他参数作为全局属性以达到全局共享数据的目的。

  在其他JS中可以通过getApp()获取App实例,之后可以获取到定义在App实例上的数据。

这篇关于微信小程序全局数据的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!