• navigator
  • 使用限制
    • 需要用户确认跳转
    • 每个小程序可跳转的其他小程序数量限制为不超过 10 个
  • 关于调试

    navigator

    页面链接。

    属性名类型默认值说明最低版本
    targetStringself在哪个目标上发生跳转,默认当前小程序,可选值self/miniProgram
    urlString当前小程序内的跳转链接
    open-typeStringnavigate跳转方式
    deltaNumber当 open-type 为 'navigateBack' 时有效,表示回退的层数
    app-idString当target="miniProgram"时有效,要打开的小程序 appId
    pathString当target="miniProgram"时有效,打开的页面路径,如果为空则打开首页
    extra-dataObject当target="miniProgram"时有效,需要传递给目标小程序的数据,目标小程序可在 App.onLaunch()App.onShow() 中获取到这份数据。详情
    versionversionrelease当target="miniProgram"时有效,要打开的小程序版本,有效值 develop(开发版),trial(体验版),release(正式版),仅在当前小程序为开发版或体验版时此参数有效;如果当前小程序是正式版,则打开的小程序必定是正式版。
    hover-classStringnavigator-hover指定点击时的样式类,当hover-class="none"时,没有点击态效果
    hover-stop-propagationBooleanfalse指定是否阻止本节点的祖先节点出现点击态
    hover-start-timeNumber50按住后多久出现点击态,单位毫秒
    hover-stay-timeNumber600手指松开后点击态保留时间,单位毫秒
    bindsuccessString当target="miniProgram"时有效,跳转小程序成功
    bindfailString当target="miniProgram"时有效,跳转小程序失败
    bindcompleteString当target="miniProgram"时有效,跳转小程序完成
    aria-labelString无障碍访问,(属性)元素的额外描述

    open-type 有效值:

    说明最低版本
    navigate对应 qq.navigateToqq.navigateToMiniProgram 的功能
    redirect对应 qq.redirectTo 的功能
    switchTab对应 qq.switchTab 的功能
    reLaunch对应 qq.reLaunch 的功能
    navigateBack对应 qq.navigateBack 的功能
    exit退出小程序,target="miniProgram"时生效1.4.7

    使用限制

    需要用户确认跳转

    在跳转至其他小程序前,将统一增加弹窗,询问是否跳转,用户确认后才可以跳转其他小程序。如果用户点击取消,则回调 fail cancel

    每个小程序可跳转的其他小程序数量限制为不超过 10 个

    开发者提交新版小程序代码时,如使用了跳转其他小程序功能,则需要在代码配置中声明将要跳转的小程序名单,限定不超过 10 个,否则将无法通过审核。该名单可在发布新版时更新,不支持动态修改。配置方法详见 配置。调用此接口时,所跳转的 appId 必须在配置列表中,否则回调 fail appId "${appId}" is not in navigateToMiniProgramAppIdList

    关于调试

    • 在开发者工具上调用此 API 并不会真实的跳转到另外的小程序,但是开发者工具会校验本次调用跳转是否成功。详情
    • 开发者工具上支持被跳转的小程序处理接收参数的调试。详情注:navigator-hover 默认为 {background-color: rgba(0, 0, 0, 0.1); opacity: 0.7;}, <navigator> 的子节点背景色应为透明色

    示例代码:

    1. /** qss **/
    2. /** 修改默认的navigator点击态 **/
    3. .navigator-hover {
    4. color: blue;
    5. }
    6. /** 自定义其他点击态样式类 **/
    7. .other-navigator-hover {
    8. color: red;
    9. }
    1. <!-- sample.qml -->
    2. <view class="btn-area">
    3. <navigator
    4. url="/page/navigate/navigate?title=navigate"
    5. hover-class="navigator-hover"
    6. >
    7. 跳转到新页面
    8. </navigator>
    9. <navigator
    10. url="../../redirect/redirect/redirect?title=redirect"
    11. open-type="redirect"
    12. hover-class="other-navigator-hover"
    13. >
    14. 在当前页打开
    15. </navigator>
    16. <navigator
    17. url="/page/index/index"
    18. open-type="switchTab"
    19. hover-class="other-navigator-hover"
    20. >
    21. 切换 Tab
    22. </navigator>
    23. <navigator
    24. target="miniProgram"
    25. open-type="navigate"
    26. app-id=""
    27. path=""
    28. extra-data=""
    29. version="release"
    30. >
    31. 打开绑定的小程序
    32. </navigator>
    33. </view>
    1. <!-- navigator.qml -->
    2. <view style="text-align:center">{{title}}</view>
    3. <view>点击左上角返回回到之前页面</view>
    1. <!-- redirect.qml -->
    2. <view style="text-align:center">{{title}}</view>
    3. <view>点击左上角返回回到上级页面</view>
    1. // redirect.js navigator.js
    2. Page({
    3. onLoad(options) {
    4. this.setData({
    5. title: options.title
    6. })
    7. }
    8. })