华为快应用学习笔记

在这里插入图片描述
1.生命周期
由于页面通过ViewModel渲染,那么页面的生命周期指的也就是ViewModel的生命周期,包括常见的:onInit, onReady, onShow 在页面创建时触发调用
onInit()
表示ViewModel的数据已经准备好,可以开始使用页面中的数据

onReady()
表示ViewModel的模板已经编译完成,可以开始获取 DOM 节点(如:this.$element(idxxx))

onShow(), onHide()
APP 中可以同时运行多个页面,但是每次只能显示其中一个页面;这点不同与纯前端开发,浏览器页面中每次只能有一个页面,当前页签打开另一个页面,上个页面就销毁了;不过和 SPA 开发倒有点相似,切换页面但浏览器全局 Context 是共享的
所以页面的切换,就产生了新的事件:页面被切换隐藏时调用 onHide(),页面被切换重新显示时调用 onShow()

判断页面的显示状态,可以调用ViewModel的$visible属性:true表示显示,false表示隐藏

onDestroy()
页面被销毁时调用,被销毁的可能原因有:用户从当前页面返回到上一页,或者用户打开了太多的页面,框架自动销毁掉部分页面,避免占用资源
所以,页面销毁时应该做一些释放资源的操作,如:取消接口订阅监听geolocation.unsubscribe()

判断页面是否处于被销毁状态,可以调用ViewModel的$valid属性:true表示存在,false表示销毁

onBackPress()
当用户点击返回实体按键、左上角返回菜单时触发该事件

如果事件响应方法最后返回true表示不返回,自己处理业务逻辑(完毕后开发者自行调用 API 返回);否则:不返回数据,或者返回其它数据:表示遵循系统逻辑:返回到上一页

onConfigurationChanged(event) 1060+
监听应用配置发生变化。当应用配置发生变化时触发,如系统语言或主题模式改变,详细说明请参考文档

onReachTop() 1080+
监听页面是否触顶

onReachBottom() 1080+
监听页面是否触底

onPageScroll(event) 1080+
监听页面滚动

页面的状态
如上所述,APP 中允许多个页面同时存在并运行,但当前仅显示其中一个,因此每个页面就会处于多个状态的一个状态

显示:该页面就是当前 APP 正在显示的页面,用 v i s i b l e 判 断 隐 藏 : 该 页 面 上 打 开 新 页 面 后 , 该 页 面 被 隐 藏 , 用 visible判断 隐藏:该页面上打开新页面后,该页面被隐藏,用 visiblevisible判断
销毁:该页面因某原因销毁后,就不会再执行里面的代码,用$valid判断

APP 的生命周期
当前为 APP 的生命周期提供了七个回调函数:onCreate()、onRequest()1070+、onShow()1070+、onHide()1070+、onDestroy()、onError()1030+、onPageNotFound()1060+,可在app.ux中定义回调函数,详情及参数

页面样式与布局
1.采用怪异盒模型
Width = width(包含padding-left + padding-right + border-left + border-right)
Height = height(包含padding-top + padding-bottom + border-top + border-bottom)

2.设置定位
1060 开始,position 将支持三种属性值:relative、absolute 和 fixed,并且默认值为 relative

列表渲染
在快应用如果要实现列表渲染,我们会用到 for 指令。 for 指令用于循环输出一个数组类型的数据。

for指令根据源数据数组渲染列表,支持的写法如下(其中{{}}可以省略):

for="{{list}}":list为源数据数组,默认的数组元素名为 i t e m f o r = " v a l u e i n l i s t " : v a l u e 为 自 定 义 的 数 组 元 素 名 , 默 认 的 数 组 元 素 索 引 名 为 item for="{{value in list}}":value为自定义的数组元素名,默认的数组元素索引名为 itemfor="valueinlist"valueidx
for="{{(index, value) in list}}":index为自定义的数组元素索引名,value为自定义的数组元素名
for指令的tid属性用于指定数组元素的唯一 Id,若未指定,默认使用数组索引($idx)作为唯一 Id。tid属性的作用在于元素节点重用,优化 for 循环的重绘效率

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值