当前位置: 首页 > news >正文

微信小程序开发入门与实战(插槽及组件页面的生命周期)

请添加图片描述

@作者 : SYFStrive

 
请添加图片描述

@博客首页 : HomePage

📜: 微信小程序

📌:个人社区(欢迎大佬们加入) 👉:社区链接🔗

📌:觉得文章不错可以点点关注 👉:专栏连接🔗

💃:感谢支持,学累了可以先看小段由小胖给大家带来的街舞

请添加图片描述
在这里插入图片描述
相关专栏

👉 微信小程序(🔥)

目录

    • 自定义组件 - - 组件所在页面的生命周期
    •     1、什么是组件所在页面的生命周期
    •     2、pageLifetimes 节点
    •     3、生成随机的 RGB 颜色值
    • 自定义组件 - 插槽
    •     1、什么是插槽
    •     2、单个插槽
    •     3、启用多个插槽
    •     4、定义多个插槽
  • 最后

自定义组件 - - 组件所在页面的生命周期

    1、什么是组件所在页面的生命周期

  1. 有时,自定义组件的行为依赖于页面状态的变化,此时就需要用到组件所在页面的生命周期。

例如:每当触发页面的 show 生命周期函数的时候,我们希望能够重新生成一个随机的 RGB 颜色值。

在自定义组件中,组件所在页面的生命周期函数有如下 3 个,分别如 👇

生命周期函数参数描述
show组件所在的页面被展示时执行
hide组件所在的页面被隐藏时执行
resizeObject.Size组件所在的页面尺寸变化时执行

    2、pageLifetimes 节点

组件所在页面的生命周期函数,需要定义在 pageLifetimes 节点中 如 👇

代码如 👇

Component({
pageLifetimes:{
  show(){
    
  },
  hide(){

  },
  resize(size){

  }
}
})

    3、生成随机的 RGB 颜色值

实现:每当页面显示时调用组件 生命周期Show 如 👇

showRandomColor(){
    this.setData({
      _rgbValue:{
        r:Math.floor(Math.random()*266),
        g:Math.floor(Math.random()*266),
        b:Math.floor(Math.random()*266),
      }
    })
  }
 pageLifetimes:{
    show(){
      this.showRandomColor();
    },
  },

自定义组件 - 插槽

    1、什么是插槽

在自定义组件的 wxml 结构中,可以提供一个 节点(插槽),用于承载组件使用者提供的 wxml 结构。

    2、单个插槽

在小程序中,默认每个自定义组件中只允许使用一个 《slot》 进行占位,这种个数上的限制叫做单个插槽。

使用如 👇

在这里插入图片描述

    3、启用多个插槽

启用多个插槽在小程序的自定义组件中,需要使用多 插槽时,可以在组件的 .js 文件中,通过如下方式进行启用。

使用如 👇

  options:{
    multipleSlots:true
  }

    4、定义多个插槽

  1. 可以在组件的 .wxml 中使用多个 标签,以不同的 name 来区分不同的插槽。

  2. 在使用带有多个插槽的自定义组件时,需要用 slot 属性来将节点插入到不同的 中。

效果如 👇

WXML

<text2>
<view slot="a1">插槽1</view>
<view>插槽2</view>
<view slot="a2">插槽2</view>
</text2>

组件的WXML
<slot name="a1"></slot>
<view>插槽练习</view>
<slot name="a2"></slot>

开启插槽
options:{
  multipleSlots:true
}

最后

在这里插入图片描述
本文到这里就结束了,大佬们的支持是我持续更新的最大动力,希望这篇文章能帮到大家💪

 

                 相关专栏连接🔗

在这里插入图片描述

下篇文章再见ヾ( ̄▽ ̄)ByeBye

在这里插入图片描述

相关文章:

  • QT 语言的学习 day09 进程 和 线程
  • Golang-02Golang变量与基本数据类型
  • 在线五子棋对战 --- 人机对战的实现
  • 【微信小程序】shrio安全登录界面实现
  • Apache网页的优化,安全与防盗链
  • python中Try的运用及意义
  • React中实现插槽效果的方案
  • 一起Talk Android吧(第三百八十九回:介绍两种实现倒计时的方法)
  • SystemVerilog——线程以及线程之间的通信
  • Node.js 应用开发详解开篇词 Node.j 从工程化工具到后端服务应用的转变
  • 【Android】Android Binder进程间通信AIDL示例与源码分析
  • ARM学习(12)基于arm架构的嵌入式操作系统理解
  • pytorch利用hook【钩子】获取torch网络每层结构【附代码】
  • 快速了解Nginx的基本介绍
  • 字符串统计:strlen函数的讲解,及其模拟实现
  • 2019.2.20 c++ 知识梳理
  • css系列之关于字体的事
  • Gradle 5.0 正式版发布
  • JavaScript DOM 10 - 滚动
  • JavaScript设计模式系列一:工厂模式
  • java多线程
  • Just for fun——迅速写完快速排序
  • PAT A1017 优先队列
  • Perseus-BERT——业内性能极致优化的BERT训练方案
  • PHP的类修饰符与访问修饰符
  • 使用 Xcode 的 Target 区分开发和生产环境
  • 收藏好这篇,别再只说“数据劫持”了
  • PostgreSQL 快速给指定表每个字段创建索引 - 1
  • 阿里云ACE认证学习知识点梳理
  • 策略 : 一文教你成为人工智能(AI)领域专家
  • ​Kaggle X光肺炎检测比赛第二名方案解析 | CVPR 2020 Workshop
  • ​LeetCode解法汇总307. 区域和检索 - 数组可修改
  • #[Composer学习笔记]Part1:安装composer并通过composer创建一个项目
  • #pragma pack(1)
  • #QT项目实战(天气预报)
  • $.extend({},旧的,新的);合并对象,后面的覆盖前面的
  • $forceUpdate()函数
  • (1/2) 为了理解 UWP 的启动流程,我从零开始创建了一个 UWP 程序
  • (14)学习笔记:动手深度学习(Pytorch神经网络基础)
  • (四) Graphivz 颜色选择
  • (太强大了) - Linux 性能监控、测试、优化工具
  • .describe() python_Python-Win32com-Excel
  • .NET CORE 2.0发布后没有 VIEWS视图页面文件
  • .NET Framework 的 bug?try-catch-when 中如果 when 语句抛出异常,程序将彻底崩溃
  • .Net MVC + EF搭建学生管理系统
  • .NET NPOI导出Excel详解
  • .NET 中让 Task 支持带超时的异步等待
  • .NET 中小心嵌套等待的 Task,它可能会耗尽你线程池的现有资源,出现类似死锁的情况
  • .pop ----remove 删除
  • @软考考生,这份软考高分攻略你须知道
  • [ 云计算 | AWS ] 对比分析:Amazon SNS 与 SQS 消息服务的异同与选择
  • [Avalon] Avalon中的Conditional Formatting.
  • [bzoj1324]Exca王者之剑_最小割
  • [C++] sqlite3_get_table 的使用
  • [C++] 如何使用Visual Studio 2022 + QT6创建桌面应用