title: swan.navigateTo header: develop nav: api sidebar: tab_swan-navigateTo
webUrl: https://qft12m.smartapps.cn/swan-api/navigate-to/navigate-to
- 以下 5 个 API 都有与之功能一致的 navigator 组件 声明方式。
- 如果两种方式都能满足您的使用场景,推荐您使用 navigator 组件 实现相应的导航功能,以便更好的被搜索引擎理解。
解释:保留当前页面,跳转到应用内的某个页面,但是不能跳转到 tabbar 页面,使用 swan.navigateBack 可以返回到原页面。
方法参数
Object object
object参数说明
| 属性名 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
| url | String | 是 | 需要跳转的应用内非 tabBar 的页面的路径 , 路径后可以带参数。参数与路径之间使用?分隔,参数键与参数值用=相连,不同参数用&分隔;如 ‘path?key=value&key2=value2’。 | |
| success | Function | 否 | 接口调用成功的回调函数 | |
| fail | Function | 否 | 接口调用失败的回调函数 | |
| complete | Function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
示例
扫码体验
请使用百度APP扫码
代码示例
:::codeTab
<view class="wrap"><button bind:tap="navigateTo" type="primary" hover-stop-propagation="true">跳转新页面</button></view>
Page({data: { },navigateTo(e) {swan.navigateTo({url: '/detail/detail?id=新页面'});}});
:::
参考示例
参考示例 - 根据页面栈来判断页面层级
:::codeTab
// 目标页面Page({onLoad(options) {this.setData({'id': options.id});},onShow() {console.log(getCurrentPages()); // [{uri: 'index/index'}]},navigateBack(e) {swan.navigateBack({delta: 2});}});
:::
Bug & Tip
jssdk 在 web-view 中使用 swan.navigateTo 接口跳转 success、fail、complete 回调函数不显示。
