创建组件

新建目录

一个组件由四部分组成,js、json、wxml、wxss,组件其实就是页面中被拆分出来的,可以在多个页面中共同使用的小块 UI,所以看起来和新建一个页面的四个文件一样:

引入组件

找到需要使用该组件的页面,打开其 json 文件配置以下信息:

{
"usingComponents": {
"event-item": "../../components/event-item/event-item"
}
}

usingComponents字段下包含了多个组件的配置信息,包括组件名称(可自定义)、组件路径(组件的相对路径)。组件名称可以与组件的文件名不同,在 wxml 使用组件时以配置的组件名称为主。

使用组件

<view class="index">
<event-item></event-item>
</view>

灵活的组件

slot

slot 允许在使用组件时插入更多的内容。简单来讲,就是在组件内预设一个位置,使用组件时插入更多的内容到组件内。这些附加的内容位置取决于 slot 在组件内的预设位置。实际上,slot 就是组件的内容占位符。

1️⃣ 在组件中添加 slot 标签,预设后期使用组件时内容显示在组件的具体位置:

<view class="event-items">
<view>hell world</view>
<!-- slot -->
<slot></slot>
</view>

2️⃣ 使用组件时,在组件中插入附加的内容:

<view class="index">
<event-item>
<view>more node</view>
<view>do you have a nice day?</view>
<view>
you say:
<view>yes of course!</view>
</view>
</event-item>
</view>

properties

为了使组件更加灵活,实现组件可配置,properties非常重要。properties 与 Vue 中的 Props 概念相同,properties 可以作为组件的参数接收外部传递进来的值。

1️⃣ 在组件 JS 文件中,Component 内添加 properties 字段。properties 是一个字典,可以接收许多值:

Component({
properties: {
itemType,
eventItems
}
}

2️⃣ 给每一个 properties 字段添加一个 type 属性,指定数据类型:

Component({
properties: {
itemType: {
type: String
},
eventItems: {
type: Array
}
}
}

3️⃣ 可以给 properties 字段添加一个 value 属性,指定默认值(可省略该步骤):

Component({
properties: {
itemType: {
type: String,
value: 'primary'
},
eventItems: {
type: Array
}
}
}

注意事项:字段名称必须采用驼峰命名法,组件传递值时必须采用短横线命名法,也就是说 itemType 对应 item-type。

4️⃣ 使用组件,传递值:

<view class="index">
<event-item item-type="{{'wait'}}" event-items="{{['one', 'two', 'three']}}"></event-item>
</view>

传递值可以控制组件内部发生不一样的变化,实现组件的灵活配置。

创建微信小程序组件的步骤的更多相关文章

  1. 微信小程序从零开始开发步骤(二)创建小程序页面

    上一章注册完小程序,添加新建的项目,大致的准备开发已经完成,本章要分享的是 要创建一个简单的页面了,创建小程序页面的具体几个步骤: 1. 在pages 中添加一个目录 选中page,右击鼠标,从硬盘打 ...

  2. 微信小程序从零开始开发步骤(八)引入框架WeUI

    首先来看下WeUI的官方介绍: WeUI 是一套同微信原生视觉体验一致的基础样式库,由微信官方设计团队为微信内网页和微信小程序量身设计,令用户的使用感知更加统一.在微信小程序的开发过程中,涉及到的前端 ...

  3. 微信小程序从零开始开发步骤(三)底部导航栏

    上一章节,我们分享了如何创建一个新的页面和设置页面的标题,这一章我们来聊聊底部导航栏是如何实现的.即点击底部的导航,会实现不同对应页面之间的切换. 我们先来看个我们要实现的底部导航栏的效果图:(三个导 ...

  4. 微信小程序从零开始开发步骤(三)

    上一章节,我们分享了如何创建一个新的页面和设置页面的标题,这一章我们来聊聊底部导航栏是如何实现的.即点击底部的导航,会实现不同对应页面之间的切换. 我们先来看个我们要实现的底部导航栏的效果图:(三个导 ...

  5. 微信小程序从零开始开发步骤(七)引入外部js 文件

    上一章讲到小程序页面的四种常见的跳转的方法,这一章写如何引入一个外部的js文件,既utils文件夹的用处,其实步骤很简单: 1:准备好外部想要引入的外部文件,命名为util.js,并且填充固定的文件内 ...

  6. 微信小程序从零开始开发步骤(六)4种页面跳转的方法

    用法:用于页面跳转,相当于html里面的<a></a>标签. API教程:https://mp.weixin.qq.com/debug/wxadoc/dev/component ...

  7. 微信小程序从零开始开发步骤(五)轮播图

    上一章完成页面自定义分享,这一章来说说轮播图,最常见的一个轮播图,中间带小圆点,自动轮播. Swiper是滑动特效插件,面向手机.平板电脑等移动终端.能实现触屏焦点图.触屏Tab切换.触屏多图切换等常 ...

  8. 微信小程序从零开始开发步骤(四)自定义分享的功能

    上一章节,实现了小程序的底部导航的功能,这一节开始实现一些简单的功能.本章节介绍的是小程序的自定义分享的功能. 可以分享小程序的任何一个页面给好友或群聊.注意是分享给好友或群聊,并没有分享到朋友圈.一 ...

  9. 微信小程序从零开始开发步骤(一)搭建开发环境

    从零到有写一个小程序系列专题,很早以前就想写来分享,但由于项目一直在进展,没有过多的时间研究技术,现在可以继续分享了. 1:注册 用没有注册过微信公众平台的邮箱注册一个微信公众号, 申请帐号 ,网址: ...

  10. 微信小程序从零开始开发步骤(二)

    上一章注册完小程序,添加新建的项目,大致的准备开发已经完成,本章要分享的是要创建一个简单的页面了,创建小程序页面的具体几个步骤: 1. 在pages 中添加一个目录 选中page,右击鼠标,从硬盘打开 ...

随机推荐

  1. 【大数据面试】【框架】Linux命令、Shell工具、常见Shell脚本(群起脚本、数仓导入)

    一.Linux 1.常用高级命令 ps -ef:查看进程详情,ps -ef|grep dae可以搜索指定进程,-e表示环境变量 ps -au:以用户为主的详细格式,显示进程平均占用资源,不包括cmd列 ...

  2. 提高python异步效率

    uvloop #Python标准库中提供了asyncio模块,用于支持基于协程的异步编程. #uvloop是 asyncio 中的事件循环的替代方案,替换后可以使得asyncio性能提高.事实上,uv ...

  3. tcp/udp 协议特性和三次握手

    一.TCP/UDP协议特性1)TCP特性:工作在传输层.建立连接.可靠的.错误检查 2)UDP特性:工作在传输层.不需要连接.不可靠的.有限的错误检查.传输性能高 2.控制位及确认号解释 控制位:由6 ...

  4. Flaks框架(Flask请求响应,session,闪现,请求扩展,中间件,蓝图)

    目录 一:Flask请求响应 1.请求相关信息 2.flask新手四件套 3.响应相关信息(响应response增加数据返回) 二:session 1.session与cookie简介 2.在使用se ...

  5. Qt从实习到搬砖

    Qt C++ 工具箱 从零开始的Qt开发之路 里面大概会写一些和Qt相关的内容,也不说是从0开始,感觉Qt做东西和用 C#也差不了很多?也许吧,总之慢慢来,一步一个脚印,直到给它拿下. 2022.5. ...

  6. @ApiImplicitParams注解的详细使用

    一.@ApiImplicitParams注解的详细使用 业务需求: 1.根据服务员类别id(单个id)+服务员星级id(id的list)查询对应的服务员列表 1.controller代码: 点击查看代 ...

  7. gitlab修改代码提交后显示中文名称

    公司要求提交的代码能显示出是哪位提交的,所以要求显示中文名称以便统计工作 修改方法: 打开CMD命令提示符输入页面,输入修改指令: git config --global user.name &quo ...

  8. Redis学习整理

    目录 1.Redis基本概念 2.Redis的5种基本类型 3.Jedis整合redis操作 4.Springboot整合redis 5.Redis主从复制 5.1.概念 5.2.原理 6.开启主从复 ...

  9. Android applink 踩坑指南

    Android applink 踩坑指南 原理 接入步骤 将链接与activity关联起来 加入meta data 生成身份验证JSON 真机测试 结论 官方文档 原理 与url scheme不同的地 ...

  10. pytest框架的简介

    概念:是一款基于python语言的单元测试框架 用途:用于发现测试用例.执行测试用例.判断测试结果.生成测试报告的一款框架 测试用例的规则: 测试文件必须与test开头,或_test结尾 类文件必须T ...