数据监听器
监听对象属性的变化
数据监听器支持监听对象中单个或多个属性的变化
纯数据字段
什么是纯数据字段
纯数据字段指的是哪些不用于页面渲染的data字段
应用场景:例如有些情况下,某些 data 中的字段既不会展示在界面上,也不会传递给其他组件,仅仅在当前组件内部使用。带有这种特性的 data 字段适合被设置为纯数据字段
好处是有助于提升页面更新的性能
使用规则
在 Component构造器的 options 节点中,指定 pureDataPattern 为一个正则表达式,字段名符合这个正则表达式的字段将成为纯数据字段
组件的生命周期函数
组件全部的生命周期函数
小程序组件可用的全部生命周期如下:
组件主要的生命周期函数
主要生命周期函数有3个,分别是 created、detached。它们各自的特点如下:
组件实例刚被创建好的时候,created 生命周期函数会被触发
- 此时还不能调用 setData
- 通常在这个生命周期函数中,只应该用于给组件的 this 添加一些自定义的属性字段
在组件完全初始化完毕、进入页面节点树后,attached 生命周期函数会被触发
- 此时,this.data 已被初始化完毕
- 这个生命周期很有用,绝大多数初始化的工作可以在这个时机进行(例如发请求获取初始数据)
在组件离开页面节点树后,detached生命周期函数会被触发
- 退出一个页面时,会触发页面内每个自定义组件的 detached 生命周期函数
- 此时适合做一些清理性质的工作
liftetimes节点
在小程序中,生命周期函数可以直接定义在Component构造器的第一级参数中,可以在lifetimes字段内进行声明(推荐的方式,优先级最高)
组件所在页面的生命周期
有时,自定义组件的行为依赖于页面状态的变化,此时就需要用到组件所在页面的生命周期
pageLifetimes节点
组件所在页面的生命周期函数,需要定义在 pageLifetimes 节点中
自定义组件——插槽
什么是插槽
在自定义组件的 wxml结构中,可以提供一个<slot>节点(插槽),用于承载组件使用者提供的 wxml结构
单个插槽
默认每个自定义组件中只允许使用一个<slot>进行占位,这种个数上的限制叫做单个插槽。
启用多个插槽
在小程序的自定义组件中,需要使用多<slot>插槽时,可以在组件的.js 文件中,通过如下方式进行启用。
定义多个插槽
可以在组件的 .wxml中使用多个<slot>标签,以不同的 name 来区分不同的插槽03