标题 | 详情 |
---|---|
作者简介 | 愚公搬代码 |
头衔 | 华为云特约编辑,华为云云享专家,华为开发者专家,华为产品云测专家,CSDN博客专家,CSDN商业化专家,阿里云专家博主,阿里云签约作者,腾讯云优秀博主,腾讯云内容共创官,掘金优秀博主,亚马逊技领云博主,51CTO博客专家等。 |
近期荣誉 | 2022年度博客之星TOP2,2023年度博客之星TOP2,2022年华为云十佳博主,2023年华为云十佳博主等。 |
博客内容 | .NET、Java、Python、Go、Node、前端、IOS、Android、鸿蒙、Linux、物联网、网络安全、大数据、人工智能、U3D游戏、小程序等相关领域知识。 |
欢迎 | 👍点赞、✍评论、⭐收藏 |
在微信小程序的开发过程中,导航组件和页面配置节点组件是构建流畅用户体验的关键要素。用户在小程序中如何顺利地浏览和找到所需信息,直接影响着他们的使用体验与满意度。本篇文章将探讨微信小程序中的导航组件及页面配置节点组件,帮助你更好地理解它们的功能与应用。
我们将详细介绍不同类型的导航组件,包括 TabBar、导航栏等,解析它们的使用场景及配置方法。同时,我们也会深入探讨页面配置节点组件的作用,如何通过合理的页面结构与组件配置,提高小程序的可用性与美观度。
无论你是小程序开发的新手,还是希望进一步提升应用质量的开发者,这篇文章都将为你提供实用的技巧与示例。让我们一起探索微信小程序的导航与页面配置组件,打造出更加友好的用户体验吧!
在生活中,导航的作用是指明路途的方向,在应用程序里,多个页面的跳转过程也可以理解为组成了一条路径,导航即是管理这条页面路径的一种方式。页面配置节点组件是一种抽象的页面组件,其主要作用是对页面的展现或行为回调进行配置
在前面的章节中,为了便于观察组件的效果,曾使用过 navigator
组件来快速跳转到对应的示例页面。现在,我们可以进一步学习并使用 navigator
组件来实现页面之间的跳转。
在示例工程的 pages
文件夹下创建一个新的页面文件夹,命名为 navigatorDemo
,然后在 navigatorDemo.wxml
文件中编写如下示例代码:
<!-- pages/navigatorDemo/navigatorDemo.wxml -->
<navigator url="../index/index">
<view>跳转到首页</view>
</navigator>
<navigator>
组件:这是小程序中用于页面跳转的组件。在此示例中,点击 navigator
组件内的文本 跳转到首页
时,会自动跳转到项目的首页,即 index
页。url
属性:该属性指定了跳转目标页面的路径。在此示例中,url="../index/index"
表示跳转到根目录下的 index
页面。运行上述代码后,当用户点击页面中的 跳转到首页
文案时,页面会自动跳转到 index
页面。
navigator
组件的应用场景navigator
组件不仅支持小程序内的页面跳转,还可以实现跨应用页面的跳转。例如,可以跳转到另一个小程序或外部网页(如一个 H5 页面)。navigator
组件常用于页面间的导航,帮助用户在不同页面之间流畅切换。navigator
组件可配置的属性属性名 | 类型 | 意义 |
---|---|---|
target | 字符串 | 设置跳转的目标,可选值为:
- |
url | 字符串 | 设置当前小程序内的跳转连接,当 |
open-type | 字符串 | 设置跳转方式,可选值为:
- |
delta | 数值 | 当 |
app-id | 字符串 | 当 |
path | 字符串 | 当 |
extra-data | 对象 | 当 |
Version | 字符串 | 当 |
此参数只对开发中的小程序有效,正式版的小程序只能打开正式版的其他小程序 | ||
short-link | 字符串 | 当 |
hover-class | 字符串 | 自定义 |
hover-stop-propagation | 布尔值 | 设置是否阻止本节点的祖先节点出现点击态 |
hover-start-time | 数值 | 设置按住后多久出现点击态,单位为毫秒 |
hover-stay-time | 数值 | 设置松开后点击态保留时间,单位为毫秒 |
bindsuccess | 函数 | 当 |
bindfail | 函数 | 当 |
bindcomplete | 函数 | 当 |
当使用导航进行页面跳转后,页面的顶部会出现导航栏组件,导航栏上会显示当前页面的标题和返回按钮。当用户点击返回按钮后,当前页面会被退出。为了配置页面的导航栏,我们可以在页面对应的 JSON 文件中进行配置,也可以使用页面配置组件来进行配置。
小程序开发框架中提供了 page-meta
页面属性配置节点组件,通过这个组件,我们可以对页面的属性进行配置,并监听页面的一些用户事件。
在 navigatorDemo.wxml
文件的头部添加如下代码:
<!-- pages/navigatorDemo/navigatorDemo.wxml -->
<page-meta root-background-color="#00ff00" page-font-size="20px"></page-meta>
<navigator url="../index/index">
<view>跳转到首页</view>
</navigator>
page-meta
组件:这是一个页面属性配置节点组件,用于动态配置页面属性。root-background-color
属性:设置页面的背景颜色。page-font-size
属性:设置页面的字体大小。运行代码后,可以看到页面的背景色和文字大小已经发生了变化。page-meta
组件的作用与页面配置文件的作用类似,但更加灵活。在设置配置项时,可以将其绑定为属性变量,这样就可以动态地修改页面的配置项。
page-meta
组件可配置的属性属性名 | 类型 | 意义 |
---|---|---|
background-text-style | 字符串 | 设置下拉背景的字体风格 |
background-color | 字符串 | 窗口背景色 |
background-color-top | 字符串 | 设置窗口顶部的背景色 |
background-color-bottom | 字符串 | 设置窗口底部的背景色 |
root-background-color | 字符串 | 设置页面内内容的根背景色 |
scroll-top | 字符串 | 设置页面滚动到距离页面顶端的位置 |
scroll-duration | 数值 | 设置滚动到页面的时长,单位为毫秒 |
page-style | 字符串 | 设置页面根节点的样式 |
page-font-size | 字符串 | 设置页面根节点的字体大小,设置为 system 时则使用微信提供的字体大小 |
page-orientation | 字符串 | 设置页面的方向,可选值为: |
| ||
| ||
| ||
bindresize | 函数 | 页面尺寸发生变化时触发的回调函数 |
bindscroll | 函数 | 页面滚动时触发的回调 |
bindscrolldone | 函数 | 使用 scroll-top 产生页面滚动后,滚动动画结束后的回调函数 |
需要注意,page-meta
组件没有具体的页面元素承载,可以将其理解为一个配置节点,此组件必须是页面的第一个节点。在代码层面,即使在 WXML
文件的最前面定义此组件。与此同时,对于页面中导航栏的样式配置,可以使用 navigation-bar
组件。navigation-bar
组件也是一个配置节点,且必须是 page-meta
中的第一个节点。示例如下:
<!-- pages/navigatorDemo/navigatorDemo.wxml -->
<page-meta root-background-color="#00ff00" page-font-size="20px">
<navigation-bar title="标题" front-color="red" background-color="white"></navigation-bar>
</page-meta>
属性名 | 类型 | 意义 |
---|---|---|
title | 字符串 | 设置导航栏的标题 |
loading | 布尔值 | 设置是否显示导航栏的 |
front-color | 字符串 | 设置导航栏的前景色,此属性会影响按钮、标题、状态栏的颜色,只能设置为白色或黑色 |
background-color | 字符串 | 设置导航栏的背景色 |
color-animation-duration | 数值 | 设置导航栏背景颜色变化的动画时长,默认为 0ms |
color-animation-timing-func | 字符串 | 设置导航栏背景颜色变化的动画函数,可选值为: |
| ||
| ||
| ||
|
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有