导航组件:小程序界面的跳转

本文介绍了小程序中的页面导航组件navigator,包括其属性、使用限制和功能页导航。页面导航组件类似于HTML的a标签,控制页面跳转。从2.3.0版本开始,跳转其他小程序需要用户确认。此外,每个小程序最多可跳转10个其他小程序,并需在代码配置中声明。功能页导航仅在插件自定义中有效,用于跳转到插件功能页,但不支持开发者自定义页面外观和在开发者工具中调试。

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

页面导航

页面导航组件(navigator)组件,它类似于HTML中的a标签,主要控制页面的跳转。链接内容可以是一个字、一个词或者一组词,也可以是一幅图,你可以点击这些内容跳转到新的页面。属性如下:

属性名类型默认值说明最低版本
targetStringself在哪个目标上发生跳转,默认当前小程序,可选值self/miniProgram2.0.7
urlString当前小程序内的跳转链接,链接地址为需要跳转页面的相对地址
open-typeStringnavigate跳转方式
deltaNumber当open-type为’navigateBack’时有效,表示退回的层数
app-idString当target=‘miniProgram’时有效,要打开小程序的AppId2.0.7
pathString当target=‘miniProgram’时有效,打开页面路径,如果为空则打开首页2.0.7
extra-dataObject当target=‘miniProgram’时有效,需要传递目标小程序的数据,目标小程序可在App.onLaunch(),App.onShow()中获取到这份数据2.0.7
versionversionrelease当target=‘miniProgram’时有效,要打开小程序的版本,有效值develop(开发板),trial(体验版),release(正式版),仅在当前小程序为开发板或体验版时参数有效;如果当前版本为正式版,则打开的小程序必定是正式版。2.0.7
hover-classStringnavigator-hover指点击时的样式类,当hover-class=‘none’时,没有点击态效果
hover-stop-propagationBooleanfalse指定是否阻止本节点的祖先节点出现点击态1.5.0
hover-start-timeNumber50按住后多久出现点击态,单位ms
hover-stop-timeNumber600手指松开后点击态的保持时间,单位面ms
bindsuccesString当target=‘miniProgram’是有效,跳转小程序成功2.0.7
bindfailString当target=‘miniProgram’时有效,跳转小程序失败2.0.7
bingcompleteString当target=‘miniProgram’时有效,跳转小程序完成2.0.7

其中属性open-type有效值如下:

说明
navigate对应 wx.navigateTo 或 wx.navigateToMiniProgram 的功能
redirect对应 wx.redirectTo 的功能
switchTab对应 wx.switchTab 的功能
reLaunch对应 wx.reLaunch 的功能
navigateBack对应 wx.navigateBack 的功能
exit退出小程序,target="miniProgram"时生效

其中属性target有效值如下:

说明
sele当前小程序
miniProgram其他小程序

示例代码:

<view class="btn-area">
  <navigator url="/page/navigate/navigate?title=navigate" hover-class="navigator-hover">跳转到新页面</navigator>
  <navigator url="../../redirect/redirect/redirect?title=redirect" open-type="redirect" hover-class="other-navigator-hover">在当前页打开</navigator>
  <navigator url="/page/index/index" open-type="switchTab" hover-class="other-navigator-hover">切换 Tab</navigator>
  <navigator target="miniProgram" open-type="navigate" app-id="" path="" extra-data="" version="release">打开绑定的小程序</navigator>
</view>
使用限制

1、需要用户确认跳转 从 2.3.0 版本开始,在跳转至其他小程序前,将统一增加弹窗,询问是否跳转,用户确认后才可以跳转其他小程序。如果用户点击取消,则回调 fail cancel。
2、每个小程序可跳转的其他小程序数量限制为不超过 10 个 从 2.4.0 版本以及指定日期(具体待定)开始,开发者提交新版小程序代码时,如使用了跳转其他小程序功能,则需要在代码配置中声明将要跳转的小程序名单,限定不超过 10 个,否则将无法通过审核。该名单可在发布新版时更新,不支持动态修改。配置方法详见 配置。调用此接口时,所跳转的 appId 必须在配置列表中,否则回调 fail appId “${appId}” is not in navigateToMiniProgramAppIdList

功能页导航

功能页导航(functional-page-navigator)这个组件从小程序基础库版本2.1.0开始支持,但仅在插件自定义中有效,用于跳转到插件功能页。该组件的属性:

属性名类型默认值说明最低版本
versionStringrelease跳转到的小程序版本,有效值develop(开发板),trial(体验版),release(正式版);线上版本必须设置为release2.1.0
nameString要跳转到的功能页2.1.0
argsObjectnull功能页参数,参数格式与具体功能页有关2.1.0
bindsuccesseventhandler功能页返回,且操作成功时触发, detail 格式与具体功能页相关2.1.0
bindfaileventhandler功能页返回,且操作失败时触发, detail 格式与具体功能页相关2.1.0
bindcanceleventhandler因用户操作从功能页返回时触发2.4.1

属性name 的合法值

说明最低版本
loginAndGetUserInfo用户信息功能页2.1.0
requestPayment支付功能页 2.1.0
chooseAddress收货地址功能页2.4.0

Bug & Tip
1、tip: 功能页是插件所有者小程序中的一个特殊页面,开发者不能自定义这个页面的外观。
2、tip: 在功能页展示时,一些与界面展示相关的接口将被禁用(接口调用返回 fail )。
3、tip: 这个组件本身可以在开发者工具中使用,但功能页的跳转目前不支持在开发者工具中调试,请在真机上测试。
示例代码

<!-- sample.wxml -->
<functional-page-navigator name="loginAndGetUserInfo" bind:success="loginSuccess">
  <button>登录到插件</button>
</functional-page-navigator>


// redirect.js navigator.js
Component({
  methods: {
    loginSuccess: function(e) {
      console.log(e.detail.code) // wx.login 的 code
      console.log(e.detail.userInfo) // wx.getUserInfo 的 userInfo
    }
  }
})
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值