微信小程序从入门到进阶(三)

数据监听器

通过observers声明数据监听器

使用场景:1、需要监听数据的变化 2、在数据变化之后,进行一些操作的时候

<view wx:for="{{ listData }}" wx:key="index" class="tab {{ active === index ? 'active' : '' }}" bindtap="onItemClick" data-index="{{index}}">{{item.label}}
</view>
  /*** 1. 监听用户选中项的变化* item 点击事件处理*/onItemClick(e) {// 1.1:获取用户选中的 下标const {index} = e.target.dataset;// 1.2:修改选中项this.setData({active: index})}/*** 1.3:监听 active 的变化* 通过 observers 定义数据监听器*/observers: {// key 为要监听的数据// value 为当数据发生变化时,调用的函数active: function (active) {// 2:获取用户选中的数据的 `id`const {id} = this.data.listData[active]}}

组件通讯

1、父传子

// 子组件:通过 properties 声明要从父组件中接收的数据/*** 组件的属性列表*/properties: {tabId: String},// 父组件:通过自定义属性的形式传递数据,以子组件中定义的 key 为属性名,以要传递的数据为属性值<list tabId="{{tabSelectId}}">

2、子传父

// 子组件:通过 triggerEvent 方法发送一个通知,通知父组件接收数据。
// 方法的第一个参数为:通知名
// 方法的第二个参数为:要传递的数据
this.triggerEvent('change', {id
})// 父组件:通过 bind 监听子组件中发送的通知
// bind 后的内容为 子组件发送的通知名,表达式为接收到该通知时所触发的方法
<tabs bind:change="onTabChange"></tabs>
// 方法被触发后可以通过 e.detail 的形式获取子组件传递过来的数据对象
onTabChange (e) {const {id} = e.detail;this.setData({tabSelectId: id})
}

3、兄弟传值

  1. 【兄弟 A 组件】传递数据给 父组件(中间人)
  2. 父组件(中间人)再把数据传递给 【兄弟 B 组件】

插槽

1、单一插槽

在组件中使用slot组件定义插槽。

表示:占据了这一块空间,等待父组件填充。

// 使用单一插槽
小程序默认只能定义一个插槽,如果要定义多个插槽那么需要:**在组件中指定 `options` 选项的 `multipleSlots` 选项为 `true`**然后通过 `slot` 的 `name` 属性为插槽命名。例如:`<slot name="header"></slot>`

2、多个插槽

小程序默认只能定义一个插槽,如果要定义多个插槽那么需要:在组件中指定options选项的 multipleSlots 选项为true

然后通过slot的name属性为插槽命名。例如:

// 使用多个插槽
<component><view slot="header">该元素将被插入到 name=header 的插槽中</view><view slot="footer">该元素将被插入到 name=footer 的插槽中</view>
</component>

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

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

相关文章

蓝桥杯练习题-图书ISBN号码

题目&#xff1a;每—本正式出版的图书都有一个ISBN号码与之对应&#xff0c;ISBN码包括9位数字、1位识别码和3位分隔符&#xff0c;其规定格式如“x-xXX-XXXxx-x”&#xff0c;其中符号"-"是分隔符(键盘上的减号)&#xff0c;最后—位是识别码&#xff0c;例如O-670…

【Cesium】在着色器中计算片元的高程

问题提出 有时候在 Cesium 上做一些效果时&#xff0c;需要知道片元的高程。而渲染是基于笛卡尔坐标的&#xff0c;没有高程这个概念。怎么在着色器中计算片元的高程呢&#xff1f; 基本思路 通常做法是在着色器里对深度纹理采样&#xff0c;将片元的深度值转换为相机坐标。…

一片带你熟练Git分支管理

&#x1f4d9; 作者简介 &#xff1a;RO-BERRY &#x1f4d7; 学习方向&#xff1a;致力于C、C、数据结构、TCP/IP、数据库等等一系列知识 &#x1f4d2; 日后方向 : 偏向于CPP开发以及大数据方向&#xff0c;欢迎各位关注&#xff0c;谢谢各位的支持 目录 1.理解分支2.创建分支…

如何快速记忆小鹤双拼键位图?

记忆方法&#xff1a;韵母表 图形 最常用字 韵母表&#xff1a;双拼的基础 图形&#xff1a;帮助新手快速联想回忆 最常用字&#xff1a;快速打字基础 一、单韵母&#xff08;紫色方块&#xff09; 一一对应如下表&#xff1a; 单韵母aoeiu、AOEIV 二、复韵母—箭矢型&am…

javaScript删除对象属性总结方法

在JavaScript中&#xff0c;可以使用以下几种方法来删除对象的属性&#xff1a; 1、使用delete关键字 使用delete关键字可以从对象中删除指定的属性。示例代码如下&#xff1a; var obj {name: "John",age: 30,city: "New York" };console.log(obj); /…

几种常见编码器优缺点

目录 光电编码器 磁性编码器 编码器在运动控制类产品中比较常见&#xff0c;旋转编码器都是组成运动控制反馈回路的关键元器件&#xff0c;包括工业自动化设备和过程控制、机器人技术、医疗设备、能源、航空航天等。 作为将机械运动转换为电信号的器件&#xff0c;编码器可为…

ASP.NET Core 使用 SignalR 的简单示例

写在前面 ASP.NET SignalR 是一个开源代码库&#xff0c;简化了Web实时通讯方案&#xff0c;可以实时地通过服务端将信息同步推送到各个客户端&#xff0c;可应用于 需要从服务器进行高频更新的应用&#xff1a;包括游戏、社交网络、投票、拍卖、地图和GPS应用&#xff1b; 仪…

Linux命令-aptitude命令(Debian Linux系统中软件包管理工具)

补充说明 aptitude命令 与apt-get命令一样&#xff0c;都是Debian Linux及其衍生系统中功能极其强大的包管理工 具。与apt-get不同的是&#xff0c;aptitude在处理依赖问题上更佳一些。举例来说&#xff0c;aptitude在删除一个 包时&#xff0c;会同时删除本身所依赖的包。这样…

excel中去掉单元格中两个数字之间的空格

excel中去掉单元格中两个数字之间的空格 使用公式&#xff1a;SUBSTITUTE(A1," “,”") 解释&#xff1a;将A1单元格中的空格查找出来并去掉。

python_蓝桥杯刷题记录_笔记_入门2

前言 现在正式进入蓝桥杯的刷题啦&#xff0c;用python来做算法题&#xff0c;因为我之前其实都是用C来做题的&#xff0c;但是今年的话我打算换python来试试&#xff0c;很明显因为也才这学期接触python 加上之前C做题也比较菜&#xff0c;所以我打算用python重新来做题&#…

Nginx 部署指定文件夹下的项目(本地测试)

1、配置 vue.config.js&#xff0c;指定生成环境的包 //部署生产环境和开发环境下的URLpublicPath: process.env.NODE_ENV production ? "/marketing" : "/",///npm run build 或 varn build 生成文件的日录名称(要利baseUrl的牛产环境路一致)(默认dist…

STL之stack 【栈】

STL之stack 【栈】 头文件创建stack添加元素(插入元素)删除元素&#xff08;弹出元素&#xff09;访问元素检查栈是否为空&#xff1a;获取栈的大小遍历C中stack用c语言实现栈 stack&#xff1a;栈&#xff0c;后进先出&#xff08;LIFO&#xff09;的数据结构。适用于需要在容…

每日一言正能量句子,心灵鸡汤之励志文案

1、相信自我是成功的基石&#xff0c;完善自我是成功的阶梯&#xff0c;突破自我是成功的钥匙&#xff0c;合谋共处是成功的翅膀&#xff0c;确立目标是成功的起点&#xff0c;付注行动是成功的号角&#xff01; 2、所有的努力&#xff0c;不是为了让别人觉得你了不起&#xf…

Modern C++ sizeof(std::tuple)的秘密

1. 前言 我们曾经至少三篇帖子或多或少的提到过std::tuple的原理及占用空间大小: Modern C++ std::tuple的sizeModern C++利用工具快速理解std::tuple的实现原理GDB调试技巧实战–自动化画出类关系图Modern C++ std::unique_ptr的实现原理但是,当初在第一篇中提出的size的问…

【INTEL(ALTERA)】错误:*.onchip_flash_0:UFM 扇区不支持“隐藏”模式。请更新访问模式设置

说明 由于英特尔 Quartus Prime Standard Edition 软件版本 22.1 存在一个问题&#xff0c;当您针对 10 FPGA Compact 变体英特尔 MAX在片上闪存英特尔 FPGA IP中选择单压缩映像配置模式时&#xff0c;可能会出现以下错误消息。 错误&#xff1a;*.onchip_flash_0&#xff1a…

C系列-自定义类型:结构体

&#x1f308;个人主页: 会编程的果子君 ​&#x1f4ab;个人格言:“成为自己未来的主人~” 结构体类型的声明 前面我们在学习操作符的时候&#xff0c;已经学习了结构体的知识&#xff0c;这里我们稍微复习一下。 结构体回顾 结构是一些值的集合&#xff0c;这些值称为成员…

【字节跳动】资深后端开发工程师-平台应用服务

资深后端开发工程师-平台应用服务 上海&#xff5c;正式&#xff5c;研发 - 后端职位&#xff5c;ID&#xff1a;A04493 职位描述 负责商业化基础服务系统能力建设&#xff0c;参与千亿级广告基础数据服务研发和优化&#xff0c;参与广告平台通用组件的设计和实现&#xff1b…

【linux】磁盘相关命令fdisk/lsblk和file

1. fdisk 磁盘分区&#xff0c;查看系统分区。 fdisk 的意思是 固定磁盘(Fixed Disk) 或 格式化磁盘(Format Disk)&#xff0c;它是命令行下允许用户对分区进行查看、创建、调整大小、删除、移动和复制的工具。它支持 MBR、Sun、SGI、BSD 分区表&#xff0c;但是它不支持 GUI…

Docker 数据管理、容器互联、网络与资源控制

一、docker数据管理 管理 Docker 容器中数据主要有两种方式&#xff1a;数据卷(Data volumes)和数据卷容器(Datavolumes containers)。 1、数据卷 数据卷是一个供容器使用的特殊目录&#xff0c;位于容器中。可将宿主机的目录挂载到数据卷上&#xff0c;对数据卷的修改操作立…

池化设计之数据库连接池

前言 一般数据库操作、主机操作等经常会涉及到会话&#xff0c;什么是会话&#xff0c;会话在日常生活中就是指两个人或者多个人直接的交流&#xff0c;同样的在IT行业会话一般是指客户端和服务端之间的通信交流。比如数据库&#xff0c;如果使用可视化界面做为客户端和数据库…