《微信小程序开发从入门到实战》学习九十
6.16 事件监听API
6.16.4 监听内存不足API
当用户手机内存资源不足时,微信可能会回收一部分小程序占用的资源。
可使用wx.onMemoryWarning监听内存不足告警事件。事件发生时,开发者可主动回收一些不必应的资源,避免内存不足小程序被迫关闭。自基础库2.0.2版本开始支持。示例代码如下:
wx.onMemoryWarning(res => {
console.log(res.level) // 内存告警等级。只有Android才有,对应系统宏定义。
})
level属性只有Android系统才可以获取,该值表示内存告警的等级,值如下所示:
5:TRIM_MEMORY_RUNNING_MODERATE
10:TRIM_MEMORY_RUNNING_LOW
15:TRIM_MEMORY_RUNNING_CRITICAL
第七章 小程序组件
组件是小程序视图层的基本组成单元,通常自带一些功能与样式,有各自定义的属性。设置属性值可对组件功能和样式进行修饰,通过wxss修改组件的样式。
小程序为组件提供一系列基础组件,可组合用。可自定义组件,可使用第三方自定义组件。
小程序组件如下:
介绍小程序的视图容器组件
介绍小程序的基础内容组件
介绍小程序的表单组件
介绍小程序的视频组件
介绍小程序的相机组件
介绍小程序的地图组件
介绍小程序的画布组件
介绍小程序的广告组件
学习如何自定义小程序组件
7.1 视图容器组件
视图容器组件简称容器组件。容器组件可包含其他组件,使页面的WXML代码形成层次结构。被包含的组件可是容器组件,也可是非容器组件。容器组件结合wxss代码可实现页面布局。
view组件是最基础的视图容器组件,小程序还提供了一下有额外功能的容器组件。将详细介绍。
7.1.1 view组件
view组件是最基础,最常用的组件。支持属性如下:
hover-class:默认值none,指定按下去的样式类。none表示没有单击态效果,最低版本1.0.0
hover-start-time:默认值50,按住后多久出现单击态,单位为毫秒,最低版本1.0.0。
hover-stay-time:默认值400,手机松开后单击态保留时间,单位为毫秒,最低版本1.0.0
hover-stop-propagtion:默认值false,指定是否阻止本节点的祖先节点出现单击态,最低版本1.5.0
hover-calss设置的类只在单击组件时才生效,因此只有在用户单击view组件时,才会显示hover-class对应的样式。
hover-start-time和hover-stay-time可以设置单击态的出现时间和保留时间,即按住view组件后多久后hover-class开始生效,以及手指松开后多久后hover-calss的样式消失。
hover-stop-propagtion默认false,表示不阻止view组件的祖先节点出现单击态。所谓祖先节点就是组件的父节点,以及父节点的父节点,以及往上的父节点。当单击子组件,实际也单击了父节点。该属性就是用于设置是否允许事件向父组件传递。
用以下代码举例说明:
<!-- WXML-->
<view class="parent" hover-class="parent-hover">
<view class="child" hover-stop-propagation="{{true}}"></view>
</view>
/* WXSS */
.parent {
width: 200rpx;
height: 200rpx;
background: blue;
}
.parent-hover {
background:yellow;
}
.child {
width: 100rpx;
height: 100rpx;
background: red;
}
代码实现效果如下:
当单击蓝色区域时,parent组件变为单击态,此时组件就会应用parent-hover类上面的样式,即背景色变为黄色。
当单击红色区域时,child组件变为单击态,child未设置hover-class,child组件不会发生变化。尽管单击位置也位于parent组件内部,但child组件设置了hover-stop-propagation="{{true}}",因此parent组件不会出现单击态,样式不会变。