QRコードをスキャン QRコードをアップロード
ドメインストア
リンクブロックを回避するプラットフォームタイプを選択
アクセス許可するプラットフォームタイプを選択

如何通过小程序实现跳转链接

小程序里的页面跳转,看起来是个基础功能,实际上几乎每个页面都会用到。从列表点进详情、从活动入口进入落地页,或者从个人中心跳转到设置页,都离不开它。实现方式并不复杂,但要先分清两种常见路径:一种是在 WXML 里放一个可点击组件,配合 JS 事件完成跳转;另一种是直接在逻辑层调用小程序提供的 API。

先看组件触发的方式。假设页面上要放一个“点击跳转到详情页”的入口,可以先在 WXML 中写一个 view 组件,并绑定点击事件:

<view bindtap="jumpToDetailPage">点击跳转到详情页</view>


接着在对应的 JS 文件里实现这个事件方法:

Page({
jumpToDetailPage() {
wx.navigateTo({
url: '/pages/detail/detail'
})
}
})




用户点击这个 view 后,小程序会执行 jumpToDetailPage,再调用 wx.navigateTo 打开详情页。这样做的好处是入口样式可以自己控制,文字、按钮、图片都能作为触发点。除了点击,也可以把跳转逻辑放进其他交互里,比如滑动、长按,只要在对应事件回调中调用跳转方法即可。

当然,不一定非要依赖 WXML 事件。直接调用小程序 API 会更灵活,适合由业务逻辑驱动的跳转。比如在某个请求成功的回调里,可以直接写:

wx.navigateTo({
url: '/pages/detail/detail'
})




如果不想保留当前页,而是希望替换掉它,可以用 wx.redirectTo:



wx.redirectTo({
url: '/pages/detail/detail'
})


这两种 API 的主要区别在页面栈。wx.navigateTo 会保留当前页面,用户从新页面可以正常返回;wx.redirectTo 会关闭当前页面,跳转后无法再直接返回上一页,更适合登录成功后进入首页、表单提交后跳转结果页这类不希望用户回退的场景。实际开发中,如果连续使用 navigateTo,还要留意页面栈的承载能力,层级过深可能导致跳转失败。遇到 tabBar 页面,则需要改用 wx.switchTab 处理。

所以,小程序里的跳转并不只有一种固定写法。把 WXML 组件和 JS 事件配合起来,更适合做页面里可见的链接、按钮;直接调用 API,则更适合由逻辑状态驱动的跳转。根据具体业务场景选对方法,跳转会稳定很多,用户操作起来也更自然。