浅析如何在小程序中开发一个内容列表组件
本篇文章给大家分享一个小程序开发实战,介绍一下怎么开发一个内容列表组件,希望对大家有所帮助!
我们开发了一个首页常见的搜索输入框
,但其代码是直接写在首页文件中的,所以这样还不能称为是一个组件。这篇我们来介绍一下如何编写一个完整的小程序组件。【相关学习推荐:小程序开发教程】
组件的组成
组件结构
首先,组件同页面类似,都有一个单独的文件夹进行维护。我们先在小程序项目中创建一个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"
定义的是该组件的标签名称,正如我们使用的小程序内置组件input
、image
一样,而后面的内容则对应该组件对于当前引用者的相对位置,这个位置的寻找方法同image
标签中对于图片位置的寻找。
经过上面的组件引用声明,我们即可在页面结构文件中进行组件的使用
在此过程中,如遇到右下角控制台报错,可通过点击开发者工具顶部中央的编译按钮对项目进行重新编译,以对各种文件进行重写解析。如果经过编译还有报错,那么一方面可以检查代码中是否确实存在错误,另一方面可通过重启开发者工具进行尝试(因为开发者工具本身也存在一定bug,有时候会偶发奇怪的问题)
另外,我在开发者工具的设置中按照个人开发习惯进行了一些列自定义的设置,比如自动保存和代码缩进等,可供参考。
内容列表组件
那么介绍完一个完整的自定义组件组成后,我们接着来完成内容列表组件
的开发。
内容列表显然要必上面的搜索输入框复杂一些,但对于组件的开发方式都一样,我们只需要按照这种规则进行组件的开发即可。
首先,我们创建好组成组件的4个核心文件如下,其中index.js
和index.json
同之前写过的一样。
接着,我们通过index.wxml
和index.wxss
的编写来完成列表组件
的元素定义。
既然是列表,那么就会用到小程序中的循环遍历
语法,关于这部分可参考 官方文档 进行学习,具体使用如下。
然后,我们在index.js
中定义组件接收的外部传入的数据如下
这样,在index.wxml
中使用wx:for
进行遍历的就是index.js
中通过properties
属性接收到的外部传入的数据列表。那么我们随即在首页中引入该组件,并对其传入真实的数据列表。使用方法依然是先在index.json
中声明对组件的引用,然后在页面文件中使用引用时声明的标签名称即可。
这里我们通过声明items
属性,为我们定义的内容列表组件
传入了数据,而该数据又来源于首页内部定义的listData
,这需要我们在首页的index.js
的data
中声明该数据。
data和properties
这里我们讲一下data
和properties
有什么不同,data
是用于定义页面或组件内部自己的数据的,而properties
是用于接收外部传入的数据的,所以只有组件才有这个属性。
比如对于内容列表组件
,其需要外部传入真实的列表数据,所以在properties
中相当于自定义了组件的参数,然后外部使用该组件时可通过组件声明的参数向其传入数据。
数据传入
因此,我们需要了解一下组件参数所需要的数据结构是怎样的,比如这里我们定义的列表组件
需要传入一个数据列表,而数据列表中的每一项都包含正文和图片,所以我们在首页的listData
定义如下数据
可以看到,列表的每一项要正好符合我们组件所使用的数据结构,即每个数据项都有text
字段用于展示正文内容,并且有image
字段用于展示正文的配图。
然后回到我们的组件内部,我们根据wx:for
的语法,使用了代表每项数据的item
字段访问了列表的数据项并进行展示。还使用了内置标签image
的mode
参数声明了图片展示的尺寸风格。
并通过一系列样式的编写
最终使得页面展现出的效果如下图所示
最后,我们通过真机预览一下我们截止目前开发的小程序效果,并对比知乎小程序的首页如下。
左侧为知乎小程序的首页,右侧为我们自行开发的小程序,效果是不是还不错。
总结
最后,我们总结一下今天学习了哪些内容。其实通过目录可以清晰地看到,今天我们介绍了一个自定义组件
开发的完成过程如下
- 组件创建
- 组件定义及声明
- 组件引用
- 组件数据传入
通过如上方法,结合之前所讲的页面开发
方法,我们完善了小程序开发的核心技能。之后,我们可以按照自己的设计,开发负责不同功能的小程序页面,并且根据各个页面所承载的功能及特点,开发一系列自定义组件,来达到可以灵活组合的效果。
更多编程相关知识,请访问:编程入门!!
以上是浅析如何在小程序中开发一个内容列表组件的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

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

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

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

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

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

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

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

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

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

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

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

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

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