【愚公系列】《微信小程序与云开发从入门到实践》019-导航组件与页面配置节点组件

举报
愚公搬代码 发表于 2024/12/29 11:38:12 2024/12/29
【摘要】 标题详情作者简介愚公搬代码头衔华为云特约编辑,华为云云享专家,华为开发者专家,华为产品云测专家,CSDN博客专家,CSDN商业化专家,阿里云专家博主,阿里云签约作者,腾讯云优秀博主,腾讯云内容共创官,掘金优秀博主,亚马逊技领云博主,51CTO博客专家等。近期荣誉2022年度博客之星TOP2,2023年度博客之星TOP2,2022年华为云十佳博主,2023年华为云十佳博主等。博客内容.NET、...
标题 详情
作者简介 愚公搬代码
头衔 华为云特约编辑,华为云云享专家,华为开发者专家,华为产品云测专家,CSDN博客专家,CSDN商业化专家,阿里云专家博主,阿里云签约作者,腾讯云优秀博主,腾讯云内容共创官,掘金优秀博主,亚马逊技领云博主,51CTO博客专家等。
近期荣誉 2022年度博客之星TOP2,2023年度博客之星TOP2,2022年华为云十佳博主,2023年华为云十佳博主等。
博客内容 .NET、Java、Python、Go、Node、前端、IOS、Android、鸿蒙、Linux、物联网、网络安全、大数据、人工智能、U3D游戏、小程序等相关领域知识。
欢迎 👍点赞、✍评论、⭐收藏

🚀前言

在微信小程序的开发过程中,导航组件和页面配置节点组件是构建流畅用户体验的关键要素。用户在小程序中如何顺利地浏览和找到所需信息,直接影响着他们的使用体验与满意度。本篇文章将探讨微信小程序中的导航组件及页面配置节点组件,帮助你更好地理解它们的功能与应用。

我们将详细介绍不同类型的导航组件,包括 TabBar、导航栏等,解析它们的使用场景及配置方法。同时,我们也会深入探讨页面配置节点组件的作用,如何通过合理的页面结构与组件配置,提高小程序的可用性与美观度。

无论你是小程序开发的新手,还是希望进一步提升应用质量的开发者,这篇文章都将为你提供实用的技巧与示例。让我们一起探索微信小程序的导航与页面配置组件,打造出更加友好的用户体验吧!

🚀一、导航组件与页面配置节点组件

在生活中,导航的作用是指明路途的方向,在应用程序里,多个页面的跳转过程也可以理解为组成了一条路径,导航即是管理这条页面路径的一种方式。页面配置节点组件是一种抽象的页面组件,其主要作用是对页面的展现或行为回调进行配置

🔎1.使用 navigator 组件

在前面的章节中,为了便于观察组件的效果,曾使用过 navigator 组件来快速跳转到对应的示例页面。现在,我们可以进一步学习并使用 navigator 组件来实现页面之间的跳转。

在示例工程的 pages 文件夹下创建一个新的页面文件夹,命名为 navigatorDemo,然后在 navigatorDemo.wxml 文件中编写如下示例代码:

<!-- pages/navigatorDemo/navigatorDemo.wxml -->
<navigator url="../index/index">
  <view>跳转到首页</view>
</navigator>

🦋1.1 代码解释

  • <navigator> 组件:这是小程序中用于页面跳转的组件。在此示例中,点击 navigator 组件内的文本 跳转到首页 时,会自动跳转到项目的首页,即 index 页。

  • url 属性:该属性指定了跳转目标页面的路径。在此示例中,url="../index/index" 表示跳转到根目录下的 index 页面。

🦋1.2 功能说明

运行上述代码后,当用户点击页面中的 跳转到首页 文案时,页面会自动跳转到 index 页面。

🦋1.3 navigator 组件的应用场景

  • navigator 组件不仅支持小程序内的页面跳转,还可以实现跨应用页面的跳转。例如,可以跳转到另一个小程序或外部网页(如一个 H5 页面)。

  • 在实际开发中,navigator 组件常用于页面间的导航,帮助用户在不同页面之间流畅切换。

🦋1.4 navigator 组件可配置的属性

属性名 类型 意义
target 字符串 设置跳转的目标,可选值为:
- self: 当前小程序,默认值
- miniProgram:其他小程序
url 字符串 设置当前小程序内的跳转连接,当 targetself 时有效
open-type 字符串 设置跳转方式,可选值为:
- navigate: 入栈跳转,对应 wx.navigateTo 方法
- redirect: 出栈当前页面,入栈新页面,对应 wx.redirectTo 方法
- switchTab: 标签页切换,对应 wx.switchTab 方法
- reLaunch: 所有页面出栈,首页入栈,对应 wx.reLaunch 方法
- navigateBack: 当前页面出栈,对应 wx.navigateBack 方法
- exit: 退出当前小程序,当 targetminiProgram 时有效
delta 数值 open-typenavigateBack 时,此属性设置返回的层级数
app-id 字符串 targetminiProgram 时有效,设置要打开的小程序的 appId
path 字符串 targetminiProgram 时有效,设置要打开的小程序的页面路径
extra-data 对象 targetminiProgram 时有效,传递数据到要打开的小程序中,在被打开的小程序中的 App.onLaunch()App.onShow() 方法中可以拿到这些数据
Version 字符串 targetminiProgram 时有效,设置打开的小程序的版本,可选值为:
develop: 开发版
trial: 体验版
release: 正式版
此参数只对开发中的小程序有效,正式版的小程序只能打开正式版的其他小程序
short-link 字符串 targetminiProgram 时有效,设置跳转链接,设置后,将忽略参数 app-idpath 属性
hover-class 字符串 自定义 navigator 组件的样式
hover-stop-propagation 布尔值 设置是否阻止本节点的祖先节点出现点击态
hover-start-time 数值 设置按住后多久出现点击态,单位为毫秒
hover-stay-time 数值 设置松开后点击态保留时间,单位为毫秒
bindsuccess 函数 targetminiProgram 时有效,跳转其他小程序成功后的回调
bindfail 函数 targetminiProgram 时有效,跳转其他小程序失败后的回调
bindcomplete 函数 targetminiProgram 时有效,跳转小程序完成后的回调

🔎2.页面配置组件

当使用导航进行页面跳转后,页面的顶部会出现导航栏组件,导航栏上会显示当前页面的标题和返回按钮。当用户点击返回按钮后,当前页面会被退出。为了配置页面的导航栏,我们可以在页面对应的 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>

🦋2.1 代码解释

  • page-meta 组件:这是一个页面属性配置节点组件,用于动态配置页面属性。
  • root-background-color 属性:设置页面的背景颜色。
  • page-font-size 属性:设置页面的字体大小。

运行代码后,可以看到页面的背景色和文字大小已经发生了变化。page-meta 组件的作用与页面配置文件的作用类似,但更加灵活。在设置配置项时,可以将其绑定为属性变量,这样就可以动态地修改页面的配置项。

🦋2.2 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 字符串 设置页面的方向,可选值为:
- auto:自动
- portrait:竖屏
- landscape:横屏
bindresize 函数 页面尺寸发生变化时触发的回调函数
bindscroll 函数 页面滚动时触发的回调
bindscrolldone 函数 使用 scroll-top 产生页面滚动后,滚动动画结束后的回调函数

🦋2.3 navigation-bar 组件

需要注意,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>

🦋2.4 navigation-bar 组件的属性

属性名 类型 意义
title 字符串 设置导航栏的标题
loading 布尔值 设置是否显示导航栏的 loading 提示
front-color 字符串 设置导航栏的前景色,此属性会影响按钮、标题、状态栏的颜色,只能设置为白色或黑色
background-color 字符串 设置导航栏的背景色
color-animation-duration 数值 设置导航栏背景颜色变化的动画时长,默认为 0ms
color-animation-timing-func 字符串 设置导航栏背景颜色变化的动画函数,可选值为:
- linear:线性
- easeIn:渐入
- easeOut:渐出
- easeInOut:渐入渐出

在这里插入图片描述

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。