案例4.4 swiper和switch组件学习笔记
一、案例概述本案例设计一个小程序演示 swiper 和 switch 组件的功能和使用方法。小程序运行后利用 switch 组件设置 swiper 组件的属性值从而实现 swiper 组件的各种播放效果。swiper 组件是微信小程序中用于实现轮播图滑动视图的核心组件常用于首页 Banner、图片轮播、公告展示等场景。switch 组件则是一个开关选择器用于在两种状态之间进行切换。本案例将两者结合通过 switch 组件动态控制 swiper 组件的播放行为帮助学习者理解组件之间的数据联动与事件绑定机制。通过本案例的学习读者可以掌握以下知识点swiper 组件的基本结构与常用属性。switch 组件的基本用法与事件绑定。如何通过 data 数据绑定实现组件间的联动控制。wx:for 循环渲染在 swiper-item 中的应用。二、实现效果初始界面中swiper 组件元素显示红色背景和“井冈山精神”四个字指示点 switch 组件被选中其它 switch 组件没有选中此时可以手动播放 swiper 组件。选中自动播放 switch 组件后swiper 组件可以自动播放。此时无需手动滑动swiper 会按照设定的时间间隔自动切换滑动项适合用于广告轮播等需要无人值守的场景。选中衔接滑动 switch 组件后可以衔接滑动。所谓衔接滑动是指播放完一轮后不会退回到初始位置播放而是沿着同一方向进入下一轮播放。这一特性让轮播过程更加流畅自然避免了从末尾跳回开头时的突兀感。选中竖向 switch 组件后滑动方向为垂直方向。默认情况下 swiper 组件是横向滑动开启竖向模式后滑动项将从上到下排列用户通过上下滑动进行切换适用于纵向列表式的轮播需求。四个 switch 组件相互独立可以组合使用。例如同时开启自动播放和衔接滑动即可实现循环自动轮播的效果同时开启竖向和自动播放则可实现纵向自动轮播。这种组合方式展示了组件属性之间的灵活搭配能力。三、新建项目新建一个不使用云服务、不使用模板的项目。在微信开发者工具中点击“新建项目”按钮填写项目名称和目录选择“不使用云服务”和“不使用模板”即可创建一个空白的小程序项目。项目创建完成后默认会生成以下文件结构app.js小程序逻辑入口文件。app.json小程序全局配置文件。app.wxss小程序全局样式文件。pages/index/index.wxml首页结构文件。pages/index/index.wxss首页样式文件。pages/index/index.js首页逻辑文件。pages/index/index.json首页配置文件。本案例的核心代码集中在 pages/index 目录下的 index.wxml、index.wxss 和 index.js 三个文件中app.wxss 用于设置全局样式。四、编写 index.wxml 文件页面中包含了一个 swiper 组件其常用属性如下属性说明indicator-dots是否显示面板指示点autoplay是否自动切换circular是否采用衔接滑动vertical滑动方向是否为纵向interval自动切换时间间隔单位为毫秒duration滑动动画时长单位为毫秒在 swiper 组件中放置了 swiper-item 组件通过 wx:for 循环放置了 3 个 swiper-item 组件。注意swiper 组件只可放置 swiper-item 组件swiper-item 组件仅可放置在 swiper 组件中。swiper 组件的核心结构如下swiper indicator-dots{{indicatorDots}} autoplay{{autoplay}} circular{{circular}} vertical{{vertical}} interval{{interval}} duration{{duration}} swiper-item wx:for{{items}} wx:keyindex view classitem {{item}}{{item}}/view /swiper-item /swiper页面中包含四个 switch 组件分别绑定了事件函数分别控制 swiper 组件指示点的显示、是否自动播放、是否衔接滑动、是否竖向滑动。switch 组件的结构如下view classswitch-group view classswitch-item text指示点/text switch checked{{indicatorDots}} bindchangechangeIndicatorDots/ /view view classswitch-item text自动播放/text switch checked{{autoplay}} bindchangechangeAutoplay/ /view view classswitch-item text衔接滑动/text switch checked{{circular}} bindchangechangeCircular/ /view view classswitch-item text竖向/text switch checked{{vertical}} bindchangechangeVertical/ /view /view每个 switch 组件通过 checked 属性绑定对应的数据字段通过 bindchange 事件绑定对应的处理函数。当用户切换开关状态时会触发对应的事件函数从而更新 data 中的数据进而改变 swiper 组件的属性值。五、编写 index.wxss 文件编写样式文件设置 swiper 组件及滑动项的背景色、文字样式等外观效果。示例样式如下swiper { height: 300rpx; } .item { display: flex; align-items: center; justify-content: center; height: 100%; font-size: 40rpx; color: #ffffff; } .item-red { background-color: #e64340; } .item-green { background-color: #09bb07; } .item-blue { background-color: #10aeff; } .switch-group { margin-top: 30rpx; padding: 0 30rpx; } .switch-item { display: flex; align-items: center; justify-content: space-between; padding: 20rpx 0; border-bottom: 1rpx solid #eeeeee; }上述样式中swiper 组件设置了固定高度滑动项使用 flex 布局实现文字居中显示并通过不同的背景色区分三个滑动项。switch 组件区域使用列表式布局每个开关项之间用分隔线隔开整体界面清晰美观。六、编写 app.wxss 文件编写全局样式文件设置页面整体布局与通用样式。七、编写 index.js 文件编写逻辑文件定义四个 switch 组件的事件处理函数通过 data 数据绑定动态控制 swiper 组件的属性值实现指示点显示、自动播放、衔接滑动和竖向滑动等效果。

相关新闻

鸿蒙与Windows双端发力!讯畅PDF转换器,你的跨设备文档处理利器

鸿蒙与Windows双端发力!讯畅PDF转换器,你的跨设备文档处理利器

大家好,我是你们的老朋友。在数字化办公的今天,PDF作为最通用的文档格式,几乎是每个人都会接触到的。但“PDF易读难改”的痛点也一直困扰着大家:想转个Word、提取几张图片、压缩一下体积,往往要折腾半天。最近我发现了…

2026/9/24 7:25:02 阅读更多 →
Java全栈项目部署上线实战:从Spring Boot到Nginx全流程

Java全栈项目部署上线实战:从Spring Boot到Nginx全流程

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/24 7:25:02 阅读更多 →
AI PLC智能升级:新设备原生集成与存量设备无感接入双路径

AI PLC智能升级:新设备原生集成与存量设备无感接入双路径

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/24 7:25:02 阅读更多 →

最新新闻

旧华为手机救砖降级实战:MRT HW Tool一键脚本避坑指南

旧华为手机救砖降级实战:MRT HW Tool一键脚本避坑指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/24 8:02:22 阅读更多 →
板载声卡跑ASIO实战:官方驱动实现低延迟直播唱歌

板载声卡跑ASIO实战:官方驱动实现低延迟直播唱歌

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/24 8:02:22 阅读更多 →
Kornia 2D 边界框形状校验修复:`infer_bbox_shape` 与 `bbox_to_mask` 拒绝 rank-4 批处理输入并抛出 `ShapeError`

Kornia 2D 边界框形状校验修复:`infer_bbox_shape` 与 `bbox_to_mask` 拒绝 rank-4 批处理输入并抛出 `ShapeError`

计算机视觉人工智能深度学习图像处理 【免费下载链接】kornia 🐍 Geometric Computer Vision Library for Spatial AI 项目地址: https://gitcode.com/gh_mirrors/ko/kornia 点击查看 免费下载 本文解读 Kornia 几何模块中的一项行为修复(对…

2026/9/24 8:02:22 阅读更多 →
WinPE运维实战:从删除顽固文件到离线杀毒的完整指南

WinPE运维实战:从删除顽固文件到离线杀毒的完整指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/24 8:02:22 阅读更多 →
轨道交通EMC屏蔽关键:铍铜弹片选型与安装实战指南

轨道交通EMC屏蔽关键:铍铜弹片选型与安装实战指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/24 8:02:22 阅读更多 →
LeetCode-1. 两数之和

LeetCode-1. 两数之和

这里写目录标题方法一 暴力法方法二Python3 字典 (dict) 学习笔记一、字典语法格式二、创建字典1. 创建空字典2. 普通字典创建三、访问字典的值1. [键]方式取值2. 安全取值 get ()四、修改字典update () 批量更新五、删除字典元素pop / popitem方法一 暴力法 class Solution:d…

2026/9/24 8:01:22 阅读更多 →

日新闻

基于YOLOv8的渔船作业监控系统:从环境搭建到边缘部署全流程

基于YOLOv8的渔船作业监控系统:从环境搭建到边缘部署全流程

简介:这是一套面向计算机、人工智能、自动化等专业学生与教师的毕业设计级项目资源,围绕YOLOv8实现渔船作业监控系统,可用于毕设、课程设计、大作业或项目立项演示。压缩包共97个文件,约24.21MB,以70个Python源码文件为…

2026/9/24 0:00:19 阅读更多 →
单细胞注释实战:基于Scanpy的标记基因与参考映射流程解析

单细胞注释实战:基于Scanpy的标记基因与参考映射流程解析

简介:一份基于单细胞RNA测序数据的细胞类型注释算法研究Python毕业设计源码,针对计算机相关专业正在做毕设或需要项目实战的学习者,可用于课程设计与期末大作业。项目代码完整、经导师指导评审通过,可直接运行,覆盖数据…

2026/9/24 0:00:19 阅读更多 →
C#源生成器实战:用增量生成器替代反射,告别AOT崩溃

C#源生成器实战:用增量生成器替代反射,告别AOT崩溃

第一次在项目里被反射卡住,是在一个老旧的WinForms模块里:几十个类依赖PropertyChanged通知,运行时反射读属性、发通知,每次启动慢半拍不说,一上.NET Native/AOT裁剪模式几乎全面崩盘。后来我把这段逻辑全部改成C#源生…

2026/9/24 0:00:19 阅读更多 →

周新闻

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

直接铺开项目本身吧。这几个月我一直在折腾一件事:用Flutter给OpenHarmony做一款游戏集合类的App,说白了就是把若干小游戏塞进一个壳里,用统一入口分发。这个方向本身不算新鲜,真正让我花了不少心思的,是首页那堆游戏卡…

2026/9/23 4:55:02 阅读更多 →
Word表格编号全攻略:从列表编号到题注交叉引用

Word表格编号全攻略:从列表编号到题注交叉引用

写Word文档,最让人头疼的往往是那些“看起来不起眼”的小问题。比如表格编号这事:今天在表后面多加了两个空白行,明天给客户交稿前发现整个章节的编号全部错位,光是挨个改序号就能耗掉大半个下午。我前阵子帮人整理一份上百页的技…

2026/9/23 4:49:06 阅读更多 →
从第一个站到第二个站:独立开发者的静态网站选型与落地实践

从第一个站到第二个站:独立开发者的静态网站选型与落地实践

1. 项目概述1.1 核心需求解析做独立开发者这几年,说实话,第一个网站上线的那天晚上我兴奋得没睡着。但等它跑了半年,流量惨淡、功能臃肿、代码自己都懒得看第二遍之后,我才慢慢琢磨明白一个道理:第一个网站是练手&…

2026/9/23 9:53:41 阅读更多 →

月新闻

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

2026/9/23 9:53:40 阅读更多 →
容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…

2026/9/23 9:53:40 阅读更多 →
容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步分类:[工程技术]细分主题:Docker 容器化技术与镜像安全管理:核心链路的逐步实现与关键代码取舍面对一个积累了五六年历史包袱的单体架构应用(包含 Web 接口、后台…

2026/9/23 9:53:40 阅读更多 →