小程序学习day11-生命周期函数、组件所在页面的生命周期、自定义组件的插槽、自定义组件的父子通信

40、自定义组件(续)(续)

(10)生命周期函数

1)小程序里的全部生命周期函数
        ①created(在组件刚被创建时执行)(被创建,但未被放入页面):无参数
        ②attached(在徐建实例进入到页面节点树时执行)(进入页面,但未渲染):无参数
        ③ready(在组建在视图布局完成以后执行)(已被渲染完成):无参数
        ④moved(在组件实例被移动到节点树的另一个位置时执行):无参数
        ⑤detached(在组件实例被从页面移除时执行):无参数
        ⑥error(每当组件方法抛出错误时执行):参数为Objedct Error
2)主要的生命周期函数及其特点
        ①created(组件实例刚被创建好时触发)(此时不能调用setData)(通常在此时,仅能用于给组件添加一些自定义的属性字段)
        ②attached(在组件完全初始化完毕,进入页面节点树以后,被触发)(此时,this.data已经初始化完毕)(在这时,可以进行绝大数的初始化工作,比如:发送请求)
        ③detached(在组件离开页面节点树以后触发)(退出一个页面,触发页面每个自定义组件的detached函数)(此时,适合做一些清理性质的工作)
3)如何创建生命周期函数
①旧方法(类似于vue)

语法:生命周期函数(){}

②新方法

Lifetimes:{

生命周期函数(){}

}

(11)组件所在页面的生命周期(自定义组件的行为依赖于页面的变化)

1)组件所在页面的生命周期函数
        ①show(组件所在页面被展示时执行):无参数
        ②hide(组件所在页面被隐藏时执行):无参数
        ③resize(组件所在页面尺寸变化时执行):Object Size
2)语法:

        pageLifetimes:{

                show(){},

                hide(){},

                resize(){}

        }

(12)自定义组件的插槽(在自定义组件的wxml中,提供slot节点)

1)作用:用于承担组件使用者提供的wxml结构
2)单个插槽(在小程序中,默认每个自定义组件只允许使用一个插槽占位)
应用:
①在组件wxml通过slot占位

②在使用页面wxml中通过view填入想要写的内容

3)多个插槽
①在对应组件的js中开启允许多个插槽的设置

②通过name给插槽命名,便于区别

③使用(通过slot=””)

(13)自定义组件的父子通信

1)父子通信的方式
        ①属性绑定(用于父组件向子组件的指定属性设置数据,仅能设置JSON兼容的数据)
        ②事件绑定(用于子组件向父组件传递数据,可以传递任何数据)
        ③获取组件实例(父组件还可以通过this.selectComponent()获取子组件实例对象,可以直接访问子组件的任意数据和方法)
2)属性绑定(父传子)(只能传递普通类型的数据,无法将方法传递给子组件)(子组件通过properties节点声明对应的属性并使用)
        ①父组件提供数据

        ②父组件传递数据

        ③子组件在properties中接收

        ④在子组件中使用

3)事件绑定(子传父)

已知:

子组件中无法同步修改父组件传过来的值

①在父组件的js中,定义一个函数,这个函数即将通过自定义事件的形式,传递给子组件

②在父组件wxml中,通过自定义事件的形式,引用①中的自定义函数,传递给子组件

③在子组件的js中,通过调用this.triggerEvent(‘自定义事件名称’,{/*参数对象*/}),将数据传递给父组件

④在父组件的js中,通过e.detail获取到子组件传递过来的数据

传参:

调用:

⑤使用(同步父组件的值)

4)获取组件实例(父组件还可以通过this.selectComponent(“id或class选择器”)获取子组件实例对象,可以直接访问子组件的任意数据和方法)(调用时,需要传入一个选择器)
①给父组件添加方法,子组件添加类

②通过父组件的方法控制子组件的属性

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/408117.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Servlet---axios框架 ▎路由守卫

前言 在现代Web应用中,前端和后端通常分离,前端使用框架(如Vue.js、React)与后端服务交互。Servlet是Java EE中处理HTTP请求的重要组成部分,能够生成动态Web内容。 Axios是一个基于Promise的HTTP客户端,简…

手机mkv转换mp4:轻松实现视频格式兼容

如今手机已成为我们日常生活中不可或缺的伴侣,而视频文件则是我们享受娱乐、获取信息的重要来源。然而,由于不同设备和平台对视频格式的支持各有不同,我们有时会遇到无法在手机上播放某些视频文件的问题。 mkv是一种常见的视频格式&#xff…

AI赋能奥维云网数字生态大会,瞰见智慧家庭市场新未来

近日,主题为“智无界鉴未来”的“奥维云网2024数字生态大会”在杭州盛大开启。 据「TMT星球」了解,本次大会邀请到了国务院发展研究中心专家做政策解读,得到了中国电子视像行业协会、中国家用电器协会、中国五金制品协会、中国家用电器商业协…

如何使用ssm实现保险业务管理系统设计与实现

TOC ssm131保险业务管理系统设计与实现jsp 绪论 1.1 研究背景 当前社会各行业领域竞争压力非常大,随着当前时代的信息化,科学化发展,让社会各行业领域都争相使用新的信息技术,对行业内的各种相关数据进行科学化,规…

使用Python做一个脚本自动化机器人(二)

刚发现一个好用的Python库DrissionPage,使用该库不区分浏览器,也无需下载driver文件。 import logging from DrissionPage import WebPage from DrissionPage import ChromiumPage,ChromiumOptionsclass BaiduPage():# 创建对象page ChromiumPage()# 访…

【深度学习与NLP】——最全环境配置总指南

目录 一、Anaconda 的环境准备 1.下载和安装 1.1. 下载 1.1.1. 官网下载 1.1.2. 镜像站下载(官网下载速度慢可选) 1.2. 安装 2. 环境配置 2.1 Windows 平台 2.2 MacOS 和 Linux 平台 3. 环境验证 3.1 Windows 平台 3.2 MacOS 和 Linux 平台 …

漏洞挖掘 | 浅谈一次edusrc文件上传成功getshell

0x1 前言 这里记录一下我在微信小程序挖人社局等一些人力资源和社会保障部信息中心漏洞,人社这类漏洞相对于web应用端的漏洞来讲要好挖很多,里面的WAF过滤等一些验证也少。比如你在开始学习src漏洞挖掘,就可以从微信小程序下手。 一般像这类…

C#为复杂属性提供下拉式编辑框和弹出式编辑框

一.为属性提供编辑类 弹出式和下拉式是如何实现的呢,这需要为属性提供一个专门的编辑类。.Net为我们提供了一个System.Drawing.Design.UITypeEditor类,它是所有编辑类的基类,从他继承出了诸如ColorEditor、FontEditor的类,因此我们…

B. 不知道该叫啥

题意:求长度为n的数列方案数,数列需满足两个条件:1.均为正整数。2.相邻两个数乘积不能超过m 思路:考虑dp。 设表示前i个点以j结尾的方案数,则有: 可以得出: 双指针数论分块解决。把每个m/i相…

基于STM32开发的智能水箱液位控制系统

目录 引言环境准备工作 硬件准备软件安装与配置系统设计 系统架构硬件连接代码实现 系统初始化液位监测与控制水泵控制与状态显示Wi-Fi通信与远程监控应用场景 家庭用水系统的液位控制工业水箱的液位管理常见问题及解决方案 常见问题解决方案结论 1. 引言 智能水箱液位控制系…

一种简单视觉处理

背景 网友说他有个芯片的图,识别不出管脚的位置 俺就写了一个代码,识别管脚的位置,先看结果。 代码 识别图片,并显示结果,对于结果位置使用红色标出 PT pt new PT();pt.Find(bmp);Bitmap bmp_tmp new Bitmap(bmp);…

GPT-4、Claude 3 Opus 和 Gemini 1.0 Ultra 挑战控制工程的新领域

介绍 论文地址:https://arxiv.org/abs/2404.03647 近年来,GPT-4、Claude 3 Opus 和 Gemini 1.0 Ultra 等大规模语言模型(LLM)迅速发展,展示了它们解决复杂问题的能力。LLM 的这些发展在多个领域都有潜在的应用前景。…

Adobe After Effects的插件--------CC Ball Action

CC Ball Action是粒子效果器,其将2D图层变为一个个由3D小球构成的图层。它是AE内置的3D插件。 使用条件 使用该插件的图层需是2D图层。 我们以一张图片素材为例: 给图片图层添加CC Ball Action效果控件,然后新建一个摄像机(利用摄像机旋转、平移、推拉工具,方便在各个角…

探究Python中的函数与模块

一、引言 随着程序的复杂度增加,代码的组织与重用性就显得尤为重要。为了编写更加结构化、易于维护的代码,函数和模块的使用是必不可少的。 函数是Python中最基本的代码组织形式,通过将代码封装成函数,我们可以实现代码的重用、…

C++不同数据类型连接成一个字符串

在C中数据连接的方式使用号进行连接。 1.都是字符型时直接使用连接几个字符串; 2.不是字符类型时,要用to_string函数转换后再连接。

【C语言】浮点型数据在内存中的储存

浮点型数据在内存中的储存 文章目录 浮点型数据在内存中的储存引例概念提出浮点型数据储存规定对于有效数字M的特别规定对于指数E的特别规定指数E的储存指数E的读取 利用规则解释原因 在之前学习过整形数据在内存中的储存后,浮点型数据在内存中的储存又会怎样呢&…

android 实现简易音乐播放器

音乐App 源代码 : 简易音乐APP源代码 1、简介 一个简易的音乐APP,主要练习对四大组件的应用。感兴趣的可以看看。 播放界面如下: 歌曲列表界面如下: 项目结构如下: 接下来将对代码做详细介绍: 2、Musi…

Leetcode876. 链表的中间结点(双指针)

题目描述 给你单链表的头结点 head ,请你找出并返回链表的中间结点。 如果有两个中间结点,则返回第二个中间结点。 示例: 示例 1: 输入:head [1,2,3,4,5] 输出:[3,4,5] 解释:链表只有一个中…

【蓝桥杯冲刺省一,省一看这些就够了-C++版本】蓝桥杯C++STL及相关练习题

蓝桥杯历年省赛真题 点击链接免费加入题单 STL map及其函数 map<key,value> 提供一对一的数据处理能力&#xff0c;由于这个特性&#xff0c;它完成有可能在我们处理一对一数据的时候&#xff0c;在编程上提供快速通道。map 中的第一个值称为关键字(key)&#xff0c;…

python 多进程 多线程 程序

这个纯粹为了增加理解&#xff0c;将很多比较好的资料进行归纳总结。 1、理论汇总 并发和并行 image.png 多进程和多线程 同步和异步 同步&#xff1a;所谓同步&#xff0c;就是在发出一个功能调用时&#xff0c;在没有得到结果之前&#xff0c;该调用就不会返回。 异步…