微信小程序

本文详细介绍了微信小程序中的各种组件,包括view、image、Swiper、text和navigator的使用方法、属性设置以及实例。同时,讨论了小程序中的图像适配原则和rpx单位的应用,以及scroll-view组件在实现滚动视图中的作用。通过对小程序组件的学习,读者能够更好地理解和开发微信小程序。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

微信小程序组件库

小程序的页面内容包含什么取决于 wxml 中定义的组件. 小程序规定, 在 wxml 中使用微信官方定义的组件 库, 原生 html5 的标签不可用.

关于小程序组件的属性

1. 如果在设置小程序组件的属性时遇到了布尔类型属性, 直接设置true或false, 都将会当做是普通字符 串来处理, 它们都将会被解析为true. 除非设置空字符串"". 但是这么写有点野. 小程序推荐:

<view hover-stop-propagation></view>

<view hover-stop-propagation="{{true}}"></view>

2. 小程序组件的属性的属性名默认支持两种命名方法: 短横线命名法/驼峰命名法. 这两种属性名格式 都将被小程序解析.

<view hover-stop-propagation=""></view> 属性生效

<view hoverStopPropagation=""></view> 属性生效
 

view 组件

view 组件属于视图容器组件, 在 view 组件中可以包含其他组件. 基本使用方法如下:

<view class="" 定义组件的样式类名

hover-class="" 定义组件点击后的样式类名

hover-start-time="50"

hover-stay-time="350"

hover-stop-propagation=""  是否阻止点击态的冒泡>

</view>

测试: 编写测试页面: pages/view/view . 在该页面中测试 view 的使用.

image 组件

image 组件用于显示图片. 基本使用方法如下:

<image src=""   路径

mode=""  图像的裁切模式

lazy-load   是否采用懒加载

show-menu-by-longpress   是否在长按时弹出操作菜单></image>

案例: pages/image/image .

默认情况下, 小程序为 image 组件设置默认大小: 320px * 240px . 需要我们手动控制 image 的大小. 也 可以通过 mode 属性控制裁剪模式.

小程序中的图像适配问题

适配原则: 无论任何大小的屏幕, 布局不要乱. wxml 提供了一个尺寸单位: rpx .

rpx 响应式像素

响应式像素是一个"动态尺寸单位", 在不同的屏幕尺寸下, 1rpx 会换算成不同的 px . 屏幕越大, 换算的 px 结果就越大. 这种换算关系的设计原则: 小程序规定, 无论任何尺寸的屏幕, 宽度都是 750rpx .

在工作中, 通常情况下会使用 iphone6/7/8/x 作为设计初稿. 它们的宽度都是 375px . 在小程序平台下都 相当于 750rpx . 所以 iphone6 平台下 rpx 的换算关系: 1px = 2rpx .

Swiper 组件

Swiper 组件用于实现轮播图

<swiper

indicator-dots="{{true}}"

indicator-color="#0003"

indicator-active-color="#1c1"

autoplay

circular

duration="200"

current="1"

vertical

bindchange="handlechange">

<swiper-item>图片</swiper-item>

<swiper-item>图片</swiper-item>

<swiper-item>图片</swiper-item>

........

</swiper>

案例: pages/swiper/swiper , 测试轮播图。

应用题:

原始图片尺寸大小: 宽: 1242px , 高: 698px .

显示图片尺寸宽度: 750rpx , 问:图片高度应该是多少才可以保证等比例缩放.

小程序官方组件除了一些自定义属性外, 还有一些自定义事件, 例如 swiper 的 bindchange 属性(自定义 事件)就用于监听轮播图 current 的改变. 如果轮播图切换了某一页, 就会触发 change 事件. 若在组件上 绑定的 change 事件处理:

<swiper bindchange="doChange"></swiper>

将会在触发了 change 事件后, 执行该方法(方法在 js 中定义):

Page({

data: {}, doChange(){ ... }

})

text 组件

text 组件用于在页面中显示文字:

<text space=""  定义空格的显示

user-select=""  指定是否允许用户选择复制

decode=""  是否对文本中html实体进行解析

>内容文本</text>

navigator 组件

navigator 为导航组件, 类似于 html 中 a 标签. 用于点击后跳转到一个新页面, 具体语法:

<navigator url="/pages/swiper/swiper" open-type="打开目标页面的方式">

点我跳转到xxxx

</navigator>

open-type:

1. navigate 默认的跳转方式. 可以从当前页跳转到非 tabbar 页面(内容不包含底部选项卡的 页面, 即没有在 app.json 中的 tabbar 配置项范围内的页面). 跳转的过程将会保留当前页, 创 建目标页, 然后显示目标页实现跳转.

2. navigateBack 返回上一页. 通过 delta 属性可以返回上 n 页. 这个过程本质上是销毁当前 页, 上一页自然而然的就显示出来了.

3. redirect 意为 重定向 . 通过 redirect 方式跳转到目标页时, 将会销毁当前页, 创建目标页, 然后执行跳转.

4. switchTab 切换选项卡 . 这种方式可以跳转到 tabbar 页面. 但是, 一旦使用这种方式跳转, 将会销毁所有的非 tabbar 页面.

5. relaunch 重新启动 . 这种方式可以跳转到任何页面. 但是这种做法将会销毁所有页面, 然后 重新启动应用, 打开目标页.

案例:新建3个页面: pages/a/a pages/b/b pages/c/c .

scroll-view 组件

scroll-view 用于表示一个可以滚动的视图容器. 如果页面中有需要放置一个带滚动条的视图容器时, 就 可以使用 scroll-view 来实现. 只有内容的大小超出 scroll-view 容器的范围时, 才具备出现滚动条的条 件. 基本用法:

<scroll-view style="width:xx;height:xxx;"

scroll-x="{{true}}"

scroll-y="{{true}}">

内容

</scroll-view>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值