微信小程序全局数据
2021/10/12 1:45:22
本文主要是介绍微信小程序全局数据,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
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实例上的数据。
这篇关于微信小程序全局数据的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-13微信小程序如何封装接口域名?-icode9专业技术文章分享
- 2024-11-13如何在微信小程序中实现直传功能?-icode9专业技术文章分享
- 2024-11-13如何在小程序的地图组件中添加标记和文字?-icode9专业技术文章分享
- 2024-11-13在微信小程序的地图组件中如何实现自定义标记和气泡?-icode9专业技术文章分享
- 2024-11-01微信小程序教程:零基础入门到实战
- 2024-11-01微信小程序全栈教程:从入门到实践
- 2024-10-31微信小程序怎么实现关注公众号功能-icode9专业技术文章分享
- 2024-10-30微信小程序cover-view,支持bindtap吗-icode9专业技术文章分享
- 2024-10-30微信小程序的cover-image支持bindtap吗-icode9专业技术文章分享
- 2024-10-30微信小程序web-view怎么设置高度?-icode9专业技术文章分享