开发者社区
社区提问意见反馈
开发者钉组织
扫描二维码
加入支付宝开发者钉组织
基础 api
基础
应用级事件
界面
导航栏
tabbar
路由
eventchannel
交互反馈
下拉刷新
联系人
选择城市
选择日期
动画
画布
地图
计算路径
键盘
滚动
节点查询
选项选择器
级联选择
设置窗口背景
设置页面是否支持下拉
字体
跳转
多媒体
缓存
文件
位置
网络
设备
worker
数据安全
分享
收藏
自定义通用菜单
更新管理
web-view组件控制
升级支付宝最新版本
隐私信息授权
小程序广告
开放能力 api
开发 > api > 基础 api > 界面 > 路由 > my.navigateto
评论 (3)
收藏
我的文档
设置

my.navigateto(object object)

支小宝客户端 支持

安诊儿客户端 支持

主体: 企业支付宝小程序个人支付宝小程序

相关文档: 路由使用须知

保留当前页面,跳转到应用内的某个页面

使用此 api 前,建议先阅读 路由使用须知

object object

查看示例

属性 类型 默认值 必填 兼容性 描述
url string - -

目标页面地址。url 可携带参数,如/pages/sub/sub?key=value。可参阅 url 详解
注意:目标页面不能为 tabbar 页面,否则会导致 tabbar 不展示。跳转 tabbar 页面请使用 my.switchtab()

events object -
基础库: 2.7.7

页面间通信接口,用于监听被打开页面发送到当前页面的数据

success function - -

调用成功的回调函数

fail function - -

调用失败的回调函数

complete function - -

调用结束的回调函数(调用成功、失败都会执行)

success 回调函数

参数

object res

属性 类型 兼容性 描述
eventchannel eventchannel
基础库: 2.7.7

和被打开页面进行通信

fail 回调的参数为 object,error 属性为错误码,errormessage 属性为错误消息。

错误码 错误消息 凯发app官方网站的解决方案
1 ${url} resolved to ${pagepath} is not found

目标页面路径不存在。请在 app.json 的 pages 字段中配置该页面。

${url} is not found in plugin

目标页面是插件页面,但该插件并没有声明该页面。请在 plugin.json 的 pages 字段中配置该页面。

2 缺少入参 url

请检查入参,确保包含 url 字段且不为空

代码示例
页面通信 a -> b
页面通信 b -> a
// 若从 a 页面跳转到 b 页面并携带参数
my.navigateto({
    url: '/pages/pageb/index?id=1'  // url详解请见【路由使用须知】
})
// b 页面接收参数
page({
    onload (query) {
      console.log(query) // {id: 1}
    }
})
// pagea.js - a 页面向 b 页面发送数据
my.navigateto({
    url: '/pages/pageb/index?id=1',
    success: function(res) {
      // 通过 eventchannel 向 b 页面传送数据
      res.eventchannel.emit('pagea_data', { 
        data: 'hi~ 我是 pagea' 
      })
    }
})
// pageb.js - b 页面接收
page({
    onload() {
      const eventchannel = this.getopenereventchannel();
      // 通过监听 pagea_data 事件,接收 a 页面传过来的数据。
      eventchannel.on('pagea_data', data => {
        console.log(data); // { "data": "hi~ 我是 pagea" }
      });
    },
});
// pageb.js -  b 页面向 a 页面发送数据
page({
    onload() {
      const eventchannel = this.getopenereventchannel();
      // 获取 eventchannel 后使用 eventchannel.emit 发送数据
      eventchannel.emit('pageb_data', {
        message: 'hello~ 我是 pageb',
      });
    },
});
// pagea.js -  a 页面 通过入参 events 接收
my.navigateto({
    url: '/pages/pageb/index?id=1',
    events: {
        // 为指定事件添加一个监听器,获取 b 页面传过来的数据
        pageb_data(data) {
          console.log(data); // { "message": "hello~ 我是 pageb" }
        },
    },
})
  • tip
    在小程序插件内调用此 api 只能跳转到此插件的页面,不能跳转到宿凯发k8官方网娱乐官方主页面或其他插件页面。
内容没有解决您的问题?您还可以前往 或 寻求帮助
凯发k8官方网娱乐官方 copyright © 2022 支付宝(杭州)信息技术有限公司  | icp证浙b2-20160559
该文档对你是否有帮助?
当前页面目录
网站地图