从上篇文章中,我们了解:小程序主要由两个部分构成,app和page。 app,就是小程序的框架。支撑pages,逻辑层的调用,对数据,wxss,wxml的解析; page,主要是业务层,用于实现界面化操作功能,是程序员使用频率最高的部分。
本篇文章简单介绍 App() 和 Page()函数; 详细的可以参数微信小程序api文档。
一,App() 用来注册一个小程序。在小程序启动的时候调用,并创建小程序,直到销毁。在整个小程序的生命周期过程中,它都是存在的。很显然它是单例的,全局的。所以, 1)只能在app.js中注册一次。 2)在代码的任何地方都可以通过 getApp() 获取这个唯一的小程序单例, 比如 var appInstance = getApp();
App()的参数是 object 类型 {} ,指定了小程序的声明周期函数。 onLaunch 函数 监听小程序初始化。 当小程序初始化完成时,会触发 onLaunch(全局只触发一次)。
onShow 函数 监听小程序显示。 当小程序启动,或从后台进入前台显示,会触发。
onHide 函数 监听小程序隐藏。 当小程序从前台进入后台,会触发。 所谓前后台的定义,类似于手机上的app,比如当不在使用微信时,就进入了后台。
globalData 对象 全局数据。
代码和日志参考,如下动图:
二、Page() 通过App()注册完成小程序之后,框架就开始注册页面。所以不要在App()的 onLaunch 中调用 getCurrentPage() 方法,因为此时页面还没有注册完成。
同样的Page()也是有生命周期的。当页面注册完成之后,可以在 page.js 文件中调用 getCurrentPage() 方法,获取当前页面对象。
2.1,Page()的参数也是Object类型。 页面刚开始加载的时候触发。只会调用一次。
onReady 类似于html的 onReady。只会调用一次。
onShow 页面显示的时候触发,比如页面切换
onHide 和onShow对应
onUnload 在 redirectTo 或 navigateBack 的时候调用
onPullDownRefresh
1)需要在config的window选项中开启enablePullDownRefresh。
onReachBottom
data 页面的初始数据
2.2,Page.prototype.setData() Page的函数 setData() 用于页面初始数据data的修改。如果该数据绑定到了视图层wxml中展示,那么无须刷新,视图层就会反映出修改。 对于data的修改,只能使用 setData() ,不能直接通过 this.data 进行修改。数据量限制在 1024 kb以内。
2.3,getCurrentPages()
2.4,案例动图
三、页面栈 框架以栈的形式维护了当前的所有页面。 当发生路由切换的时候,页面栈的表现如下:
四、生命周期
五,页面路由
|
程序员开发实战系列《三》App()和Page()
发布:2018-01-29 11:08浏览: 次来源:网络 作者:cola
免责声明:本站所有文章和图片均来自用户分享和网络收集,文章和图片版权归原作者及原出处所有,仅供学习与参考,请勿用于商业用途,如果损害了您的权利,请联系网站客服处理。
相关文章
- 微信小程序开发工具 常用快捷键2018-06-09
- 微信小程序架构分析《一》调试技巧,模块构成,理念分析2018-02-07
- 微信小程序架构分析《二》:view 模块和 service 模块的构成2018-02-07
- 微信小程序架构分析《三》:实现过程以及实时更新2018-02-07
- 梁兴臣:微信小程序开发三宗罪和解决方案2018-02-07
- 微信小程序使用Promise实践2018-02-07
- 微信小程序开发系列分析《一》视图层2018-02-07
- 微信小程序开发系列分析《二》数据层2018-02-07
- 微信小程序官方文档个人分析心得2018-02-07
- 微信小程序的原型设计尝鲜2018-02-07