《微信小程序开发从入门到实战》学习九十

2024-01-21  本文已影响0人  阿宅白石

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组件不会出现单击态,样式不会变。

上一篇下一篇

猜你喜欢

热点阅读