微信小程序开发入门与实战(组件生命周期)
2023-09-11 14:19:57 时间
@作者 : SYFStrive
@博客首页 : HomePage
📜: 微信小程序
📌:个人社区(欢迎大佬们加入) 👉:社区链接🔗
📌:觉得文章不错可以点点关注 👉:专栏连接🔗
💃:感谢支持,学累了可以先看小段由小胖给大家带来的街舞
👉 微信小程序(🔥)
目录
自定义组件 - 纯数据字段
1、什么是纯数据字段
- 概念:纯数据字段指的是那些不用于界面渲染的 data 字段。
- 应用场景:例如有些情况下,某些 data 中的字段既不会展示在界面上,也不会传递给其他组件,仅仅在当前组件内部使用。带有这种特性的 data 字段适合被设置为纯数据字段。
好处:纯数据字段有助于提升页面更新的性能。
options:{
pureDataPattern:/^_/
},
/**
* 组件的属性列表
*/
properties: {
},
/**
* 组件的初始数据
*/
data: {
_rgbValue:{
r:0,
g:0,
b:0
},
funllColor:'0,0,0'
},
2、使用规则
在 Component 构造器的 options 节点中,指定 pureDataPattern 为一个正则表达式,字段名符合这个正则表达式的字段将成为纯数据字段
代码如 👇
options:{
pureDataPattern:/^_/
},
/**
* 组件的属性列表
*/
properties: {
},
/**
* 组件的初始数据
*/
data: {
_rgbValue:{
r:0,
g:0,
b:0
},
funllColor:'0,0,0'
},
3、使用纯数据字段改造数据监听器案例
lifetimes:{
created(){
console.log("created");
},
attached(){
console.log("attached");
}
},
自定义组件 - 组件的生命周期
1、组件全部的生命周期函数
小程序组件可用的全部生命周期如下表所示:
生命周期函数 | 参数 | 描述说明 |
---|---|---|
created | 无 | 在组件实例刚刚被创建时执行 |
attached | 无 | 在组件实例进入页面节点树时执行 |
ready | 无 | 在组件在视图层布局完成后执行 |
moved | 无 | 在组件实例被移动到节点树另一个位置时执行 |
detached | 无 | 在组件实例被从页面节点树移除时执行 |
error | Object Error | 每当组件方法抛出错误时执行 |
2、组件主要的生命周期函数
在小程序组件中,最重要的生命周期函数有 3 个,分别是 created、attached、detached 。它们各自的特点
如下:
① 组件实例刚被创建好的时候,created 生命周期函数会被触发
- 此时还不能调用 setData
- 通常在这个生命周期函数中,只应该用于给组件的 this 添加一些自定义的属性字段
② 在组件完全初始化完毕、进入页面节点树后, attached 生命周期函数会被触发 - 此时, this.data 已被初始化完毕
- 这个生命周期很有用,绝大多数初始化的工作可以在这个时机进行(例如发请求获取初始数据)
③ 在组件离开页面节点树后, detached 生命周期函数会被触发 - 退出一个页面时,会触发页面内每个自定义组件的 detached 生命周期函数
- 此时适合做一些清理性质的工作
3、lifetimes 节点
在小程序组件中,生命周期函数可以直接定义在 Component 构造器的第一级参数中(淘汰),可以在 lifetimes 字段内进行声明(这是推荐的方式,其优先级最高)。
代码如 👇
Component({
lifetimes:{
created(){
console.log("created");
},
attached(){
console.log("attached");
}
},
)
最后
本文到这里就结束了,大佬们的支持是我持续更新的最大动力,希望这篇文章能帮到大家💪
下篇文章再见ヾ( ̄▽ ̄)ByeBye
相关文章
- 微信小程序_(组件)可拖动movable-view
- 微信小程序_(组件)scroll-view可滚动视图
- 微信小程序_(组件)form表单
- 微信小程序_(组件)组件基础
- 微信小程序_简单组件使用与数据绑定
- Android开发之旅:组件生命周期(二)
- 当 K8s 集群达到万级规模,阿里巴巴如何解决系统各组件性能问题?
- 使用EventLog组件读写事件日志
- 6、四大组件之二-Service初步
- 【Android】友盟的自动更新组件
- 微信小程序----switch组件实现
- 微信小程序----radio组件
- 微信小程序----switch组件(开关选择器)
- 微信小程序----button组件
- reactjs组件通信方式总结
- Atitit 面向对象编程(OOP)、面向组件编程(COP)、面向方面编程(AOP)和面向服务编程(SOP)的区别和联系
- 第51篇 QML自定义组件 — 可拖动组件
- Vue组件间的传值五大场景,你造吗?
- Flutter之跨组件状态共享Provider框架剖析(2)
- 微信小程序:uni-app页面Page和组件Component生命周期执行的先后顺序
- 微信小程序开发学习笔记(二)——小程序框架、组件、WXML
- atitit.文件上传带进度条的实现原理and组件选型and最佳实践总结O7
- Android于fragment_main.xml文件问题组件收购
- python基础===jieba模块,Python 中文分词组件
- 微信小程序_uni-app_轮播图组件_swiper
- android 组件化在项目中的使用
- Taro React组件开发(2) —— RuiEditor 富文本编辑器【兼容H5和微信小程序】