微信小程序开发(教学笔记)——二、组件

发布于:2024-11-03 ⋅ 阅读:(125) ⋅ 点赞:(0)

【提示:】

  • 如果看到讲解内容比较多,没有耐心看的话,直接看案例
  • 第一章是微信小程序认识及讲解,我会尽快发出来。

二、组件

1、view组件的基本用法

讲解:

分类 详情
语法 .wxml文件中使用<view>标签创建视图容器,可直接放内容或嵌套<view>标签,如<view class="container1">...</view>
属性值 - class 属性:指定类名用于样式设置,如<view class="my-view-class">。 - id 属性:设置唯一标识符用于 JavaScript 操作,如<view id="unique-view-id">。 - style 属性:设置内联样式,如<view style="width:100px; height:50px; background-color:red;">
适用场景 - 页面布局:作为基础组件划分页面区域,如包裹头部、内容、底部等区域并放置相关组件。 - 内容承载:承载各种内容组件,如展示产品文字和图片并设置样式
注意点 - 样式关联:确保.wxss中定义对应类选择器样式。 - 嵌套布局:注意层级关系,规划调整组件尺寸位置,考虑样式优先级避免冲突

案例:

实现如图的flex横向布局效果:

  • 【效果图】

在这里插入图片描述

  • 【代码】

.wxml

<view class="container1">
	<view>A</view>
	<view>B</view>
	<view>C</view>
</view>

.wxml解释:

代码内容 说明 涉及语法及作用
<view class="container1"> 创建一个作为外层容器的视图,后续其他视图元素将放置在其内部,并且通过设置的类名container1可在样式文件中对其样式进行定制化设置。 - <view>:微信小程序中的视图容器标签,用于布局和承载内容展示。 - class属性:用于给元素指定一个类名,以便通过样式表根据该类名来定义元素的样式。
<view>A</view> container1容器内创建一个子视图,该子视图显示的内容为字符A <view>:作为内容展示的视图容器,这里直接在标签内放置了要展示的文本内容。
<view>B</view> 与上一个类似,在container1容器内创建一个子视图,展示内容为字符B <view>A</view>中的<view>语法作用。
<view>C</view> 同样是在container1容器内创建一个子视图,展示内容为字符C <view>A</view>中的<view>语法作用。

.wxss

.container1 view {
	width: 100px;
	height: 100px;
	text-align: center;
	line-height: 100px;
}

.container1 view:nth-child(1) {
	background-color: lightgreen;
}
.container1 view:nth-child(2) {
	background-color: lightblue;
}
.container1 view:nth-child(3) {
	background-color: lightcoral;
}

.container1 {
	display: flex;
	justify-content: space-around;
}

.wxss解释:

代码片段 说明 涉及语法及作用
.container1 view { width: 100px; height: 100px; text-align: center; line-height: 100px; } 为类名为container1的容器内的所有<view>子元素设置样式。包括统一设置宽度为 100px、高度为 100px,使文本在视图内水平居中(text-align: center),以及通过设置line-heightheight相同的值让文本在视图内垂直居中。 - 选择器.container1 view:这是一个后代选择器,表示选择类名为container1的元素内部的所有<view>元素。 - widthheight属性:分别用于设置元素的宽度和高度。 - text-align属性:控制文本在元素内的水平对齐方式。 - line-height属性:设置行高,当与元素高度相同时可实现文本垂直居中。
.container1 view:nth-child(1) { background-color: lightgreen; } 为类名为container1的容器内的第一个<view>子元素设置背景颜色为浅绿色(lightgreen)。 - 选择器.container1 view:nth-child(1):这是一个子元素选择器结合:nth-child()伪类的用法,用于精确选择类名为container1的元素内的第一个<view>子元素。 - background-color属性:用于设置元素的背景颜色。
.container1 view:nth-child(2) { background-color: lightblue; } 为类名为container1的容器内的第二个<view>子元素设置背景颜色为浅蓝色(lightblue)。 与上述为第一个子元素设置样式类似,只是这里通过:nth-child(2)选择了第二个子元素,并设置相应背景颜色。涉及的语法作用同.container1 view:nth-child(1)部分。
.container1 view:nth-child(3) { background-color: lightcoral; } 为类名为container1的容器内的第三个<view>子元素设置背景颜色为浅珊瑚色(lightcoral)。 同理,通过:nth-child(3)选择第三个子元素并设置背景色。语法作用同前面相关部分。
.container1 { display: flex; justify-content: space-around; } 对类名为container1的容器本身设置布局相关样式。将其设置为弹性布局(display: flex),并让其内部的子元素在主轴方向上均匀分布,两端留有空白(justify-content: space-around)。 - display属性:设置元素的显示类型,这里设置为flex表示采用弹性布局。 - justify-content属性:在弹性布局中,用于控制子元素在主轴方向上的对齐和分布方式。space-around值表示子元素均匀分布,且相邻子元素之间、子元素与容器边缘之间的间隔相等。

2、scroll-view组件的基本用法

讲解:

分类 详情
语法 .wxml文件中使用<scroll - view>标签创建可滚动视图容器,如<scroll - view class="container2" scroll - y><scroll - view>是标签名,class用于指定类名,scroll - y设置垂直滚动
属性值 - class 属性:给元素指定类名用于样式设置,如<scroll - view class="my - scroll - class">。 - scroll - y 属性:设置为true(可简写)允许垂直滚动,如<scroll - view scroll - y>。 - scroll - x 属性(可能用到):设置为true允许水平滚动,如<scroll - view scroll - x>
适用场景 当容器内内容超出可视范围时,用于通过滚动查看全部内容,如长列表或多文本信息的展示
注意点 - 样式设置:确保样式文件中定义了相应类选择器样式。 - 滚动方向属性:注意scroll - yscroll - x设置,避免错误。 - 高度设置:通常需给组件设置固定高度,否则滚动效果可能不佳

案例:

实现如图的纵向滚动效果:

  • 【效果图】

在这里插入图片描述

  • 【代码】

.wxml

<scroll-view class="container2" scroll-y>
  <view>A</view>
	<view>B</view>
	<view>C</view>
</scroll-view>

.wxml解释:

代码内容 说明 涉及语法及作用
<scroll-view class="container2" scroll-y> 创建一个可滚动的视图容器,类名为container2,并设置其可在垂直方向(scroll-y)进行滚动。用于当容器内的内容超出容器本身的可视范围时,能够通过滚动来查看全部内容。 - <scroll-view>:微信小程序中的可滚动视图容器标签,用于创建具有滚动功能的区域。 - class属性:给<scroll-view>元素指定类名container2,以便在样式文件中根据该类名来定义其样式。 - scroll-y:这是一个属性,设置为true(这里简写形式,只写属性名即表示启用该属性对应的功能)时,表示允许该滚动视图在垂直方向上滚动。
<view>A</view> <scroll-view>容器内创建一个子视图,该子视图显示的内容为字符A <view>:作为内容展示的视图容器,这里直接在标签内放置了要展示的文本内容,在<scroll-view>容器内作为其中的一项可滚动展示的内容部分。
<view>B</view> 与上一个类似,在<scroll-view>容器内创建一个子视图,展示内容为字符B <view>A</view>中的<view>语法作用。
<view>C</view> 同样是在<scroll-view>容器内创建一个子视图,展示内容为字符C <view>A</view>中的<view>语法作用。

.wxss

.container2 view {
  width: 100px;
  height: 120px;
  text-align: center;
  line-height: 100px;
}

.container2 view:nth-child(1) {
	background-color: lightgreen;
}
.container2 view:nth-child(2) {
	background-color: lightblue;
}
.container2 view:nth-child(3) {
	background-color: lightcoral;
}

.container2 {
  border: 1px solid black;
  /* 给scroll-view 固定高度 */
  height: 220px;
  width: 100px;
}

.wxss解释:

代码片段 说明 涉及语法及作用
.container2 view { width: 100px; height: 120px; text-align: center; line-height: 100px; } 为类名为container2<scroll-view>容器内的所有<view>子元素设置样式。包括设置宽度为 100px、高度为 120px,使文本在视图内水平居中(text-align: center),通过设置line-height让文本在垂直方向尽量靠近中心(这里line-height设为 100px,与高度不完全匹配可能导致不完全垂直居中)。 - 选择器.container2 view:这是一个后代选择器,表示选择类名为container2的元素(即<scroll-view>)内部的所有<view>元素。 - widthheight属性:分别用于设置元素的宽度和高度。 - text-align属性:控制文本在元素内的水平对齐方式。 - line-height属性:设置行高,影响文本在垂直方向的位置。
.container2 view:nth-child(1) { background-color: lightgreen; } 为类名为container2<scroll-view>容器内的第一个<view>子元素设置背景颜色为浅绿色(lightgreen)。 - 选择器.container2 view:nth-child(1):这是一个子元素选择器结合:nth-child()伪类的用法,用于精确选择类名为container2的元素(<scroll-view>)内的第一个<view>子元素。 - background-color属性:用于设置元素的背景颜色。
.container2 view:nth-child(2) { background-color: lightblue; } 为类名为container2<scroll-view>容器内的第二个<view>子元素设置背景颜色为浅蓝色(lightblue)。 与上述为第一个子元素设置样式类似,只是这里通过:nth-child(2)选择了第二个子元素,并设置相应背景颜色。涉及的语法作用同.container2 view:nth-child(1)部分。
.container2 view:nth-child(3) { background-color: lightcoral; } 为类名为container2<scroll-view>容器内的第三个<view>子元素设置背景颜色为浅珊瑚色(lightcoral)。 同理,通过:nth-child(3)选择第三个子元素并设置背景色。语法作用同前面相关部分。
.container2 { border: 1px solid black; /* 给scroll-view 固定高度 */ height: 220px; width: 100px; } 对类名为container2<scroll-view>容器本身设置样式。给容器添加 1px 宽的黑色实线边框(border: 1px solid black),并设置其高度为 220px、宽度为 100px,以便为其内部可滚动的内容提供一个固定大小的可视区域。 - border属性:用于设置元素的边框样式,这里设置了边框宽度为 1px、样式为实线(solid)、颜色为黑色。 - heightwidth属性:分别用于设置元素(即<scroll-view>容器)的高度和宽度。

3、swiper和swiper-item组件的基本使用

讲解:

分类 详情
语法 .wxml文件中,<swiper>标签创建轮播图容器,如<swiper class="swiper-container" indicator-dots indicator-color="white" indicator-active-color="gray" autoplay interval="3000" circular><swiper-item>标签用于承载轮播项内容,如<swiper-item><view class="item">A</view></swiper-item>
属性值 - class 属性(swiper):指定类名用于样式设置,如<swiper class="swiper-container">。 - indicator-dots 属性(swiper):设置为true显示面板指示点,如<swiper indicator-dots>。 - indicator-color 属性(swiper):设置指示点颜色,如<swiper indicator-color="white">。 - indicator-active-color 属性(swiper):设置激活指示点颜色,如<swiper indicator-active-color="gray">。 - autoplay 属性(swiper):设置为true自动播放,如<swiper autoplay>。 - interval 属性(swiper):设置播放间隔,如<swiper interval="3000">。 - circular 属性(swiper):设置为true循环播放,如<swiper circular>。 - class 属性(swiper-item):给内部<view>指定类名用于样式设置,如<swiper-item><view class="item">A</view></swiper-item>中的<view class="item">
适用场景 用于创建轮播图效果,展示图片或内容,吸引用户注意力,如展示广告图片、产品图片等
注意点 - 确保样式文件中定义了相应类选择器样式。 - 注意属性设置正确,如播放间隔、指示点颜色等符合预期。 - 合理设置轮播图容器和轮播项的样式,避免样式冲突

案例:

实现如图的轮播图的效果:

  • 【效果图】

在这里插入图片描述

  • 【代码】

.wxml

<!-- 
  轮播图:
  swiper和swiper-item组件的基本使用 
  轮播图区域
  indicator-dots 属性:显示面板指示点
  -->
<swiper class="swiper-container" 
        indicator-dots 
        indicator-color="white" 
        indicator-active-color="gray" 
        autoplay interval="3000" 
        circular>
  <!-- 第1项 -->
  <swiper-item>
    <view class="item">A</view>
  </swiper-item>
  <!-- 第2项 -->
  <swiper-item>
    <view class="item">B</view>
  </swiper-item>
  <!-- 第3项 -->
  <swiper-item>
    <view class="item">C</view>
  </swiper-item>
</swiper>

.wxml解释:

代码片段 说明 涉及语法及作用
<!-- 轮播图: swiper和swiper-item组件的基本使用 轮播图区域 indicator-dots 属性:显示面板指示点 --> 这是一段注释内容,用于对下方代码的功能及相关属性进行简要说明。让后续查看代码的人能快速了解这段代码是关于轮播图的实现,涉及swiperswiper-item组件的基本使用,并且特别提到了indicator-dots属性用于显示面板指示点的作用。 注释语法:在 HTML 以及微信小程序代码体系中,<!---->之间的内容为注释部分,会被编译器忽略,不影响代码的实际执行效果。
<swiper class="swiper-container" indicator-dots indicator-color="white" indicator-active-color="gray" autoplay interval="3000" circular> 创建一个功能更丰富的轮播图容器组件,类名为swiper-container。以下是对各属性的详细说明: - indicator-dots:设置为true(只写属性名即表示启用该属性对应的功能),用于在轮播图下方显示指示点,让用户能直观知晓当前显示的是第几项以及总共有几项可轮播内容。 - indicator-color:设置指示点的颜色为白色,用于统一指示点未被激活时的外观颜色。 - indicator-active-color:设置指示点被激活(即当前轮播到该项时)的颜色为灰色,以便用户能清晰区分当前展示的轮播项。 - autoplay:设置为true(同样只写属性名默认启用),使轮播图能够自动播放,无需用户手动切换。 - interval:设置自动播放时相邻两项切换的间隔时间为 3000 毫秒(即 3 秒),控制轮播的节奏。 - circular:设置为true,让轮播图能够循环播放,即当播放到最后一项后会自动切换回第一项继续播放,形成一个无缝的循环。 - <swiper>:微信小程序中用于实现轮播图功能的核心组件。 - class属性:给<swiper>组件指定类名swiper-container,以便在样式文件中根据该类名来定义其样式。 - 各属性(indicator-dotsindicator-colorindicator-active-colorautoplayintervalcircular):分别用于对轮播图的不同展示特性进行设置,如指示点显示及颜色、自动播放、播放间隔、循环播放等。【后面有补充内容】
<!-- 第1项 --> <swiper-item> <view class="item">A</view> </swiper-item> 这是轮播图中的第一项内容设置。在swiper-item组件内放置了一个<view>组件,其类名为item,显示的内容为字符A。每个swiper-item代表轮播图中的一项可切换展示的内容。 - <swiper-item>:是swiper组件中的子项组件,用于承载轮播图中的每一项具体内容。 - <view>:作为内容展示的视图容器,这里在swiper-item内放置了<view>来展示具体文本内容。 - class属性(在<view>上):给<view>元素指定类名item,用于后续在样式文件中设置其样式。
<!-- 第2项 --> <swiper-item> <view class="item">B</view> </swiper-item> 轮播图中的第二项内容设置,与第一项类似,在swiper-item组件内通过<view>组件展示内容为字符B 同上述轮播图第一项内容设置部分的语法作用,只是展示的具体内容为B
<!-- 第3项 --> <swiper-item> <view class="item">C</view> </swiper-item> 轮播图中的第三项内容设置,同样在swiper-item组件内通过<view>组件展示内容为字符C 同上述轮播图第一项内容设置部分的语法作用,只是展示的具体内容为C

【补充:】

swiper 组件的常用属性

属性 类型 默认值 说明
indicator-dots boolean false 该属性用于决定是否显示面板指示点。如果设置为 true,则会在面板上显示指示点,以帮助用户了解当前显示的是哪个面板内容。
indicator-color color rgba(0, 0, 0,.3) 此属性用于设置指示点的颜色。默认情况下,指示点的颜色为半透明黑色(rgba (0, 0, 0,.3)),可以根据需要修改为其他颜色值。
indicator-active-color color 000000 这个属性定义了当前选中的指示点的颜色。默认值为纯黑色(000000),当用户切换面板内容时,当前显示的面板对应的指示点会以这个颜色显示。
autoplay boolean false 决定是否自动切换面板内容。如果设置为 true,面板内容会按照一定的时间间隔自动切换。
interval number 5000 该属性指定自动切换的时间间隔,单位为毫秒。默认值为 5000 毫秒,即 5 秒。可以根据需要调整这个时间间隔。
circular boolean false 用于确定是否采用衔接滑动方式。如果设置为 true,当面板内容切换到最后一个时,会自动循环回到第一个,实现无缝衔接的滑动效果。

.wxss

/* 轮播图:
  swiper和swiper-item组件的基本使用 */
.swiper-container { 
  height: 150px;  /*轮播图容器的高度*/
}
.item {
  height: 100%;
  line-height: 150px;
  text-align: center;
}
swiper-item:nth-child(1) {
  background-color: lightgreen;
}
swiper-item:nth-child(2) {
  background-color: lightblue;
}
swiper-item:nth-child(3) {
  background-color: lightcoral;
}

.wxss解释:

代码片段 说明 涉及语法及作用
/* 轮播图: swiper和swiper-item组件的基本使用 */ 这是一段 CSS 样式代码中的注释内容,用于对下面要设置的样式相关的组件使用情况进行简要说明,方便后续开发者理解这些样式是针对轮播图相关组件的。 注释语法:在 CSS 中,/**/之间的内容为注释部分,编译器在处理样式代码时会忽略注释内容,不影响样式的实际应用效果。
.swiper-container { height: 150px; /*轮播图容器的高度*/ } 对类名为swiper-container的轮播图容器(对应前面代码中的<swiper>组件)设置样式,将其高度定义为 150px,以便确定轮播图在页面上所占据的垂直空间大小。 - 选择器.swiper-container:这是一个类选择器,用于选择页面上所有类名为swiper-container的元素,在这里就是针对轮播图容器进行样式设置。 - height属性:用于设置元素的高度,这里明确了轮播图容器的垂直尺寸为 150px。
.item { height: 100%; line-height: 150px; text-align: center; } 对类名为item的元素(对应前面代码中<view>元素且类名为item的部分)设置样式。设置其高度为父元素的 100%(这里父元素应该是对应的swiper-item),行高为 150px,使文本在元素内垂直方向尽量靠近中心位置(因为行高与轮播图容器高度相同,但可能因文本自身高度等因素不完全垂直居中),并让文本在水平方向居中。 - 选择器.item:类选择器,用于选择所有类名为item的元素。 - height属性:设置元素的高度为父元素的 100%,以保证能占满父元素的垂直空间。 - line-height属性:设置行高,影响文本在垂直方向的位置。 - text-align属性:控制文本在元素内的水平对齐方式,使其水平居中。
swiper-item:nth-child(1) { background-color: lightgreen; } 为轮播图中的第一个swiper-item组件设置背景颜色为浅绿色(lightgreen),用于区分不同的轮播图项。 - 选择器swiper-item:nth-child(1):这是一个子元素选择器结合:nth-child()伪类的用法,用于精确选择轮播图中的第一个swiper-item组件。 - background-color属性:用于设置元素的背景颜色。
swiper-item:nth-child(2) { background-color: lightblue; } 为轮播图中的第二个swiper-item组件设置背景颜色为浅蓝色(lightblue)。 与上述为第一个swiper-item设置样式类似,只是通过:nth-child(2)选择了第二个swiper-item组件,并设置相应背景颜色。涉及的语法作用同swiper-item:nth-child(1)部分。
swiper-item:nth-child(3) { background-color: lightcoral; } 为轮播图中的第三个swiper-item组件设置背景颜色为浅珊瑚色(lightcoral)。 同理,通过:nth-child(3)选择第三个swiper-item组件并设置背景色。语法作用同前面相关部分。

4、常用的基础内容组件

讲解:

分类 详情
语法 .wxml文件中,<text>用于展示简单文本,可设置selectable属性,如<text selectable>12332123332</text><rich - text>用于渲染特定格式内容,通过nodes属性传入,如<rich - text nodes="<h1 style='color: red;'>渲染HTML的h1标题</h1>"></rich - text>
属性值 - selectable 属性(text):设置为true文本可被选中,如<text selectable>12332123332</text>。 - nodes 属性(rich - text):传入要渲染的内容节点,如<rich - text nodes="<h1 style='color: red;'>渲染HTML的h1标题</h1>"></rich - text>
适用场景 - text 组件:用于展示简单文本信息,如页面中的说明文字、电话号码等。 - rich - text 组件:用于渲染复杂格式的文本,如 HTML 格式的标题、段落等内容
注意点 - 对于rich - text组件,要确保传入的内容格式符合要求,否则可能无法正确渲染。 - 注意text组件的selectable属性设置符合需求,避免不必要的文本可选中情况

案例:

实现如图的效果:

  • 【效果图】

在这里插入图片描述

  • 【代码】

.wxml

<!-- 常用的基础 内容 组件
text 组件和 rich-text 组件 -->
<view>
  手机号支持长按选中效果
  <text selectable>12332123332</text>
</view>

<rich-text nodes="<h1 style='color: red;'>渲染HTML的h1标题</h1>"></rich-text>

.wxml解释:

代码片段 说明 涉及语法及作用
<!-- 常用的基础 内容 组件 text 组件和 rich-text 组件 --> 这是一段注释内容,用于对下方代码所涉及的主要组件进行简要说明,告知后续查看代码的人这里主要展示的是关于text组件和rich-text组件这两种常用的基础内容组件的使用。 注释语法:在 HTML 以及微信小程序代码体系中,<!---->之间的内容为注释部分,会被编译器忽略,不影响代码的实际执行效果。
<view> 手机号支持长按选中效果 <text selectable>12332123332</text> </view> 在一个<view>容器组件内,展示了一段文字说明 “手机号支持长按选中效果”,并且包含了一个<text>组件,其显示的内容为 “12332123332”,同时设置了selectable属性为true(只写属性名即表示启用该属性对应的功能),使得该文本内容在小程序页面中可被长按选中,方便用户进行复制等操作。 - <view>:作为一个通用的视图容器,用于对页面内容进行布局划分和承载其他组件,这里用来放置相关的文字说明和text组件。 - <text>:微信小程序中的文本组件,用于展示简单的文本内容。 - selectable属性:设置文本是否可被选中,当设置为true时,用户可以通过长按操作选中该文本内容。
<rich-text nodes=" <h1 style='color: red;'> 渲染HTML的h1标题 </h1>"> </rich-text> 使用了<rich-text>组件来渲染一段特定格式的内容。这里通过nodes属性传入了一段 HTML 格式的字符串,其中包含了一个<h1>标签,并设置了其样式为color: red;,用于将 “渲染 HTML 的 h1 标题” 这段内容以 HTML 中<h1>标题的样式(红色字体)在微信小程序页面中进行渲染展示。 - <rich-text>:微信小程序中的富文本组件,它能够解析并渲染传入的符合一定格式(如 HTML 格式)的内容。 - nodes属性:用于传入要渲染的内容节点,这里接收的是一段包含 HTML 标签及样式设置的字符串,通过该属性将指定的内容传递给rich-text组件进行渲染。

5、button 按钮的基本使用

讲解:

分类 详情
语法 .wxml文件中使用<button>标签创建按钮,如<button>默认按钮</button>,可设置typesizeplain等属性
属性值 - type 属性:指定按钮类型,如<button type="primary">主色调按钮</button>primarywarn等为常见类型。 - size 属性:控制按钮尺寸,如<button size="mini">小尺寸按钮</button>mini表示小尺寸。 - plain 属性:使按钮呈现镂空样式,如<button size="mini" plain>默认按钮</button>
适用场景 用于创建可交互的按钮元素,触发相应操作,如提交表单、跳转页面等
注意点 - 确保不同类型按钮的样式符合预期,如type属性设置的主色调、警告色等正确。 - 注意sizeplain属性组合使用时的样式效果符合要求

案例:

实现如图按钮的不同属性效果

  • 【效果图】

在这里插入图片描述

  • 【代码】

.wxml

<!-- button 按钮的基本使用 -->
<view>~~~~~~~~通过 type 指定按钮类型~~~~~~~~</view>
<button>默认按钮</button>
<button type="primary">主色调按钮</button>
<button type="warn">警告按钮</button>

<view>~~~~~~~~size="mini" 小尺寸按钮~~~~~~~~~</view>
<view class="space">
<button size="mini">默认按钮</button>
<button type="primary" size="mini">主色调按钮</button>
<button type="warn" size="mini">警告按钮</button>
</view>

<view>~~~~~~~~~~~plain 镂空按钮~~~~~~~~~~~</view>
<view class="space">
<button size="mini" plain>默认按钮</button>
<button type="primary" size="mini" plain>主色调按钮</button>
<button type="warn" size="mini" plain>警告按钮</button>
</view>

.wxml解释:

<!-- button 按钮的基本使用 --> 这是一段注释内容,用于对下方代码的功能进行简要说明,让后续查看代码的人能快速了解这里主要展示的是关于按钮(button)组件的基本使用。 注释语法:在 HTML 以及微信小程序代码体系中,<!---->之间的内容为注释部分,会被编译器忽略,不影响代码的实际执行效果。
<view>~~~~~~~~通过 type 指定按钮类型~~~~~~~~</view> 创建一个<view>容器组件,用于显示一段说明文字 “通过 type 指定按钮类型”,起到对下方不同类型按钮展示的引导和说明作用。 - <view>:作为一个通用的视图容器,用于对页面内容进行布局划分和承载其他组件,这里用来放置说明文字。
<button>默认按钮</button> 创建一个默认类型的按钮,按钮上显示的文本内容为 “默认按钮”。该按钮未设置特殊的类型属性,将呈现默认的样式和行为。 - <button>:微信小程序中的按钮组件,用于创建可交互的按钮元素,用户可以点击按钮触发相应的操作(具体操作需后续通过绑定事件等来实现)。
<button type="primary">主色调按钮</button> 创建一个类型为 “primary” 的按钮,按钮上显示的文本内容为 “主色调按钮”。“primary” 类型通常会使按钮呈现与应用主色调相关的样式,用于突出重要的操作按钮。 - <button>:同上述默认按钮部分的作用。 - type属性:用于指定按钮的类型,不同类型会赋予按钮不同的外观样式,这里 “primary” 类型赋予按钮特定的主色调相关样式。
<button type="warn">警告按钮</button> 创建一个类型为 “warn” 的按钮,按钮上显示的文本内容为 “警告按钮”。“warn” 类型的按钮通常会呈现与警告相关的样式,比如可能是红色系等醒目的颜色,用于提示用户进行某些操作可能存在风险等。 - <button>:同上述作用。 - type属性:这里 “warn” 类型赋予按钮与警告相关的外观样式。
<view>~~~~~~~~size="mini" 小尺寸按钮~~~~~~~~~</view> 创建一个<view>容器组件,用于显示一段说明文字 “size=“mini” 小尺寸按钮”,对接下来要展示的小尺寸按钮进行说明。 - <view>:作为布局和承载说明文字的容器,作用同前面相关部分。
<view class="space"> <button size="mini">默认按钮</button> <button type="primary" size="mini">主色调按钮</button> <button type="warn" size="mini">警告按钮</button> </view> 创建一个类名为 “space” 的<view>容器组件,在其中放置了三个小尺寸的按钮。分别是默认类型、“primary” 类型和 “warn” 类型的按钮,且都通过设置 “size=“mini”” 属性将它们的尺寸变为小尺寸,以便在页面上呈现更紧凑的按钮布局。 - <view>:作为容器承载按钮组件,同时通过设置类名 “space” 可在样式文件中根据该类名来定义其样式,可能用于设置容器内元素的排列方式等。 - <button>:按钮组件,这里创建了不同类型的小尺寸按钮,“size” 属性用于控制按钮的尺寸大小,设置为 “mini” 表示小尺寸。
<view>~~~~~~~~~~~plain 镂空按钮~~~~~~~~~~~</view> 创建一个<view>容器组件,用于显示一段说明文字 “plain 镂空按钮”,对接下来要展示的镂空按钮进行说明。 - <view>:布局和承载说明文字的容器,作用同前面相关部分。
<view class="space"> <button size="mini" plain>默认按钮</button> <button type="primary" size="mini" plain>主色调按钮</button> <button type="warn" size="mini" plain>警告按钮</button> </view> 创建一个类名为 “space” 的<view>容器组件,在其中放置了三个小尺寸且为 “plain” 类型(镂空样式)的按钮。分别是默认类型、“primary” 类型和 “warn” 类型的按钮,通过设置 “size=“mini”” 属性使其为小尺寸,并设置 “plain” 属性使其呈现镂空的外观样式,用于在页面上以不同样式展示按钮。 - <view>:容器作用同前。 - <button>:按钮组件,这里通过设置 “size” 和 “plain” 属性创建了不同类型的小尺寸镂空按钮,“plain” 属性用于使按钮呈现镂空样式。

.wxss

.space {
  display: flex;
  justify-content: space-around;
  margin: 20px;
}

.wxss解释:

代码片段 说明 涉及语法及作用
.space { display: flex; justify-content: space-around; margin: 20px; } 这段代码是用于设置类名为.space的元素的样式。 - 选择器.space:这是一个类选择器,用于选择页面上所有类名为.space的元素,在前面的代码中,就是那些包含按钮的<view>容器元素。 - display属性:设置元素的显示类型为flex,将该元素转变为弹性布局容器。在弹性布局下,可以更方便地控制其子元素(如按钮)的排列方式、对齐方式等。 - justify-content属性:在弹性布局中,用于控制子元素在主轴方向上的对齐和分布方式。这里设置为space-around,表示让子元素在主轴方向上均匀分布,并且相邻子元素之间、子元素与容器边缘之间的间隔是相等的。 - margin属性:用于设置元素的外边距,这里设置为20px,会在该元素的四周都添加一个20px的外边距,使得该元素与周围其他元素之间有一定的间隔空间,从而在页面上呈现出更好的布局效果。

6、image 组件(及mode属性)的基本使用

讲解:

分类 详情
语法 .wxml文件中使用<image>标签创建图片组件,如<image></image><image src="/images/1.png" mode="aspectFit"></image>
属性值 - src 属性:指定图片源文件路径,如<image src="/images/1.png">。 - mode 属性:控制图片展示模式,如scaleToFill(默认,不保持纵横比缩放)、aspectFit(保持纵横比,长边完整显示)、aspectFill(保持纵横比,短边完整显示)、widthFix(宽度不变,高度自动变化)、heightFix(高度不变,宽度自动变化)
适用场景 用于在页面上展示图片内容
注意点 - 确保src属性指向的图片路径正确。 - 根据需求选择合适的mode属性值,避免图片显示效果不佳

案例:

实现如图显示图片效果并自行扩展mode的其他属性

  • 【效果图】

在这里插入图片描述

  • 【代码】

.wxml

<!-- image 组件的基本使用及 mode 属性 -->
<!-- 1.空图片 -->
<image></image>
<!-- 2.使用 src 指向图片路径 -->
<image src="/images/1.png" mode="aspectFit"></image>

.wxml解释:

代码片段 说明 涉及语法及作用
<!-- image 组件的基本使用及 mode 属性 --> 这是一段注释内容,用于对下方代码的功能进行简要说明,告知后续查看代码的人这里主要展示的是关于image组件的基本使用以及mode属性的相关情况。 注释语法:在 HTML 以及微信小程序代码体系中,<!---->之间的内容为注释部分,会被编译器忽略,不影响代码的实际执行效果。
<!-- 1.空图片 --> <image></image> 这部分创建了一个image组件实例,但没有指定图片的源文件路径(src属性未设置),所以在页面上渲染时会呈现一个空的图片占位符效果,通常用于后续可能通过动态设置src属性来加载具体图片的情况。 - <image>:微信小程序中的图片组件,用于在页面上展示图片内容。
<!-- 2.使用 src 指向图片路径 --> <image src="/images/1.png" mode="aspectFit"></image> 创建了另一个image组件实例,并通过设置src属性为"/images/1.png"指定了要加载展示的图片的路径,同时设置了mode属性为"aspectFit"。这会使得该图片按照aspectFit模式进行展示,即保持图片的宽高比进行缩放,使其能够完整地放入图片组件所占据的空间内,可能会在水平或垂直方向上留有空白边距。 - <image>:同上述空图片部分的作用。 - src属性:用于指定要加载展示的图片的源文件路径,这里明确指向了"/images/1.png"这个图片文件。 - mode属性:用于控制图片在image组件内的展示模式,不同模式有不同的图片缩放和填充效果,aspectFit模式能保证图片宽高比不变进行缩放以适应组件空间。

【补充:】

mode 属性值说明

mode 值 说明
scaleToFill (默认值)缩放模式,不保持纵横比缩放图片,使图片的宽高完全拉伸至填满 image 元素。这意味着图片可能会被扭曲变形以适应容器的尺寸。
aspectFit 缩放模式,保持纵横比缩放图片,使图片的长边能完全显示出来,可完整地将图片显示出来。在这种模式下,图片会在保持原有比例的前提下尽可能大地显示在容器中,可能会在容器的短边方向上留下空白区域。
aspectFill 缩放模式,保持纵横比缩放图片,只保证图片的短边能完全显示出来,图片通常只在水平或垂直方向是完整的,另一个方向将会发生截取。此模式会使图片充满容器,但可能会裁剪掉部分图片内容以满足短边完全显示的要求。
widthFix 缩放模式,宽度不变,高度自动变化,保持原图宽高比不变。图片的宽度将固定为原始宽度,高度会根据容器的宽度和图片的宽高比自动调整。
heightFix 缩放模式,高度不变,宽度自动变化,保持原图宽高比不变。与 widthFix 相反,图片的高度固定为原始高度,宽度会根据容器的高度和图片的宽高比自动调整。

.wxss

image {
  /* 通过边框线证明 image 有默认的宽和高 */
  border: 1px solid black;
}

.wxss解释:

代码片段 说明 涉及语法及作用
image { /* 通过边框线证明 image 有默认的宽和高 */ border: 1px solid black; } 这段代码是用于设置<image>组件的样式。其目的是通过给<image>组件添加一个 1px 宽的黑色实线边框,以此来直观地证明<image>组件在未明确设置宽度和高度属性时,是存在默认的宽和高值的。 - 选择器image:这是一个标签选择器,用于选择页面上所有的<image>组件元素。 - border属性:用于设置元素的边框样式。这里设置的值为1px solid black,其中1px表示边框的宽度为 1 像素,solid表示边框的样式为实线,black表示边框的颜色为黑色。通过添加这样的边框,在页面上渲染时就可以看到<image>组件所占据的空间范围,从而了解其默认的宽和高情况。