目录
组件的组成
组件结构
组件样式
组件声明
组件使用
内容列表组件
data和properties
数据传入
总结
首页 微信小程序 小程序开发 浅析如何在小程序中开发一个内容列表组件

浅析如何在小程序中开发一个内容列表组件

Nov 12, 2021 am 10:57 AM
小程序 组件开发

本篇文章给大家分享一个小程序开发实战,介绍一下怎么开发一个内容列表组件,希望对大家有所帮助!

浅析如何在小程序中开发一个内容列表组件

我们开发了一个首页常见的搜索输入框,但其代码是直接写在首页文件中的,所以这样还不能称为是一个组件。这篇我们来介绍一下如何编写一个完整的小程序组件。【相关学习推荐:小程序开发教程

组件的组成

组件结构

首先,组件同页面类似,都有一个单独的文件夹进行维护。我们先在小程序项目中创建一个components目录用于存放我们的组件,然后创建一个名为search-bar的目录用来作为我们的搜索框组件。

浅析如何在小程序中开发一个内容列表组件

上面提到,组件其实和页面很像,都由一个目录所组成,所以自然其要展示的内容也都由index.wxml进行编写。所以我们直接将之前关于搜索框的部分粘贴过来。

浅析如何在小程序中开发一个内容列表组件

浅析如何在小程序中开发一个内容列表组件

粘贴到components/search-bar/index.wxml后,代码格式可能会不太好,可以在文件内容的空白地方右键,或者选中代码,然后点击格式化文档进行自动格式化。

这里需要注意的是,如果我们的结构文件中如果有资源的位置引用,当修改文件位置后,要确认修改后的位置对于资源的引用是否正确。比如这里,我们将原本pages/index/index.wxml下的内容粘贴至components/search-bar/index.wxml,其中image标签引用了assets/images下的文件,需要确认新位置下的图片引用路径依然有效。

组件样式

同样地,我们将之前写好的组件样式也粘过来

浅析如何在小程序中开发一个内容列表组件

浅析如何在小程序中开发一个内容列表组件

组件声明

这样,我们就完成了组件的结构和样式定义,但开发者工具还不认为这是一个组件,所以需要我们在组件目录创建index.json声明这个目录是一个有效的组件,方法如下图。

首先,我们需要在index.json中使用"component": true声明这是一个组件

浅析如何在小程序中开发一个内容列表组件

其次,我们需要在index.js中使用全局方法Component()方法注册该组件,该方法的参数为一个对象,其中可以定义类似页面的各种内容,具体可参考 官方文档

浅析如何在小程序中开发一个内容列表组件

组件使用

那么完成了组件的基本定义,我们的组件就可以投入使用了。只要在需要使用该组件的地方进行引入即可,引入方法比如在我们的首页配置文件中声明如下

浅析如何在小程序中开发一个内容列表组件

其中,"search-bar"定义的是该组件的标签名称,正如我们使用的小程序内置组件inputimage一样,而后面的内容则对应该组件对于当前引用者的相对位置,这个位置的寻找方法同image标签中对于图片位置的寻找。

经过上面的组件引用声明,我们即可在页面结构文件中进行组件的使用

浅析如何在小程序中开发一个内容列表组件

在此过程中,如遇到右下角控制台报错,可通过点击开发者工具顶部中央的编译按钮对项目进行重新编译,以对各种文件进行重写解析。如果经过编译还有报错,那么一方面可以检查代码中是否确实存在错误,另一方面可通过重启开发者工具进行尝试(因为开发者工具本身也存在一定bug,有时候会偶发奇怪的问题)

另外,我在开发者工具的设置中按照个人开发习惯进行了一些列自定义的设置,比如自动保存和代码缩进等,可供参考。

浅析如何在小程序中开发一个内容列表组件

内容列表组件

那么介绍完一个完整的自定义组件组成后,我们接着来完成内容列表组件的开发。

内容列表显然要必上面的搜索输入框复杂一些,但对于组件的开发方式都一样,我们只需要按照这种规则进行组件的开发即可。

首先,我们创建好组成组件的4个核心文件如下,其中index.jsindex.json同之前写过的一样。

1浅析如何在小程序中开发一个内容列表组件

接着,我们通过index.wxmlindex.wxss的编写来完成列表组件的元素定义。

既然是列表,那么就会用到小程序中的循环遍历语法,关于这部分可参考 官方文档 进行学习,具体使用如下。

1浅析如何在小程序中开发一个内容列表组件

然后,我们在index.js中定义组件接收的外部传入的数据如下

1浅析如何在小程序中开发一个内容列表组件

这样,在index.wxml中使用wx:for进行遍历的就是index.js中通过properties属性接收到的外部传入的数据列表。那么我们随即在首页中引入该组件,并对其传入真实的数据列表。使用方法依然是先在index.json中声明对组件的引用,然后在页面文件中使用引用时声明的标签名称即可。

1浅析如何在小程序中开发一个内容列表组件

1浅析如何在小程序中开发一个内容列表组件

这里我们通过声明items属性,为我们定义的内容列表组件传入了数据,而该数据又来源于首页内部定义的listData,这需要我们在首页的index.jsdata中声明该数据。

1浅析如何在小程序中开发一个内容列表组件

data和properties

这里我们讲一下dataproperties有什么不同,data是用于定义页面或组件内部自己的数据的,而properties是用于接收外部传入的数据的,所以只有组件才有这个属性。

比如对于内容列表组件,其需要外部传入真实的列表数据,所以在properties中相当于自定义了组件的参数,然后外部使用该组件时可通过组件声明的参数向其传入数据。

数据传入

因此,我们需要了解一下组件参数所需要的数据结构是怎样的,比如这里我们定义的列表组件需要传入一个数据列表,而数据列表中的每一项都包含正文和图片,所以我们在首页的listData定义如下数据

1浅析如何在小程序中开发一个内容列表组件

可以看到,列表的每一项要正好符合我们组件所使用的数据结构,即每个数据项都有text字段用于展示正文内容,并且有image字段用于展示正文的配图。

然后回到我们的组件内部,我们根据wx:for的语法,使用了代表每项数据的item字段访问了列表的数据项并进行展示。还使用了内置标签imagemode参数声明了图片展示的尺寸风格。

1浅析如何在小程序中开发一个内容列表组件

并通过一系列样式的编写

1浅析如何在小程序中开发一个内容列表组件

最终使得页面展现出的效果如下图所示

浅析如何在小程序中开发一个内容列表组件

最后,我们通过真机预览一下我们截止目前开发的小程序效果,并对比知乎小程序的首页如下。

2浅析如何在小程序中开发一个内容列表组件

左侧为知乎小程序的首页,右侧为我们自行开发的小程序,效果是不是还不错。

总结

最后,我们总结一下今天学习了哪些内容。其实通过目录可以清晰地看到,今天我们介绍了一个自定义组件开发的完成过程如下

  • 组件创建
  • 组件定义及声明
  • 组件引用
  • 组件数据传入

通过如上方法,结合之前所讲的页面开发方法,我们完善了小程序开发的核心技能。之后,我们可以按照自己的设计,开发负责不同功能的小程序页面,并且根据各个页面所承载的功能及特点,开发一系列自定义组件,来达到可以灵活组合的效果。

更多编程相关知识,请访问:编程入门!!

以上是浅析如何在小程序中开发一个内容列表组件的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

使用Python开发微信小程序 使用Python开发微信小程序 Jun 17, 2023 pm 06:34 PM

随着移动互联网技术和智能手机的普及,微信成为了人们生活中不可或缺的一个应用。而微信小程序则让人们可以在不需要下载安装应用的情况下,直接使用小程序来解决一些简单的需求。本文将介绍如何使用Python来开发微信小程序。一、准备工作在使用Python开发微信小程序之前,需要安装相关的Python库。这里推荐使用wxpy和itchat这两个库。wxpy是一个微信机器

小程序能用react吗 小程序能用react吗 Dec 29, 2022 am 11:06 AM

小程序能用react,其使用方法:1、基于“react-reconciler”实现一个渲染器,生成一个DSL;2、创建一个小程序组件,去解析和渲染DSL;3、安装npm,并执行开发者工具中的构建npm;4、在自己的页面中引入包,再利用api即可完成开发。

实现微信小程序中的卡片翻转特效 实现微信小程序中的卡片翻转特效 Nov 21, 2023 am 10:55 AM

实现微信小程序中的卡片翻转特效在微信小程序中,实现卡片翻转特效是一种常见的动画效果,可以提升用户体验和界面交互的吸引力。下面将具体介绍如何在微信小程序中实现卡片翻转的特效,并提供相关代码示例。首先,需要在小程序的页面布局文件中定义两个卡片元素,一个用于显示正面内容,一个用于显示背面内容,具体示例代码如下:<!--index.wxml-->&l

支付宝上线'汉字拾光-生僻字”小程序,用于征集、补充生僻字库 支付宝上线'汉字拾光-生僻字”小程序,用于征集、补充生僻字库 Oct 31, 2023 pm 09:25 PM

本站10月31日消息,今年5月27日,蚂蚁集团宣布启动“汉字拾光计划”,最近又迎来新进展:支付宝上线“汉字拾光-生僻字”小程序,用于向社会征集生僻字,补充生僻字库,同时提供不同的生僻字输入体验,以帮助完善支付宝内的生僻字输入方法。目前,用户搜索“汉字拾光”、“生僻字”等关键词就可以进入“生僻字”小程序。在小程序里,用户可以提交尚未被系统识别录入的生僻字图片,支付宝工程师在确认后,将会对字库进行补录入。本站注意到,用户还可以在小程序体验最新的拆字输入法,这一输入法针对读音不明确的生僻字设计。用户拆

uniapp如何实现小程序和H5的快速转换 uniapp如何实现小程序和H5的快速转换 Oct 20, 2023 pm 02:12 PM

uniapp如何实现小程序和H5的快速转换,需要具体代码示例近年来,随着移动互联网的发展和智能手机的普及,小程序和H5成为了不可或缺的应用形式。而uniapp作为一个跨平台的开发框架,可以在一套代码的基础上,快速实现小程序和H5的转换,大大提高了开发效率。本文将介绍uniapp如何实现小程序和H5的快速转换,并给出具体的代码示例。一、uniapp简介unia

用Python编写简单的聊天程序教程 用Python编写简单的聊天程序教程 May 08, 2023 pm 06:37 PM

实现思路x01服务端的建立首先,在服务端,使用socket进行消息的接受,每接受一个socket的请求,就开启一个新的线程来管理消息的分发与接受,同时,又存在一个handler来管理所有的线程,从而实现对聊天室的各种功能的处理x02客户端的建立客户端的建立就要比服务端简单多了,客户端的作用只是对消息的发送以及接受,以及按照特定的规则去输入特定的字符从而实现不同的功能的使用,因此,在客户端这里,只需要去使用两个线程,一个是专门用于接受消息,一个是专门用于发送消息的至于为什么不用一个呢,那是因为,只

微信小程序怎么弄会员 微信小程序怎么弄会员 May 07, 2024 am 10:24 AM

1、打开微信小程序,进入对应的小程序页面。2、在小程序页面中查找会员相关入口,通常会员入口在底部导航栏或个人中心等位置。3、点击会员入口,进入会员申请页面。4、在会员申请页面,填写相关信息,如手机号码、姓名等,完成信息填写后,提交申请。5、小程序方会对会员申请进行审核,审核通过后,用户即可成为微信小程序会员。6、作为会员,用户将享有更多的会员权益,如积分、优惠券、会员专属活动等

小程序备案怎么操作 小程序备案怎么操作 Sep 13, 2023 pm 04:36 PM

小程序备案操作步骤:1、准备个人身份证复印件、企业营业执照复印件、法人身份证复印件等备案材料;2、登录小程序管理后台;3、进入小程序设置页面;4、选择“基本设置”;5、填写备案信息;6、上传备案材料;7、提交备案申请;8、等待审核结果,如果备案不通过要根据原因进行修改,并重新提交备案申请;9、备案后续操作即可。

See all articles