小程序路由跳转

小程序中的路由只是单纯页面地址的跳转,一般在页面中使用 navigator 组件来实现,也有很多场景需要在 js 中根据逻辑的执行结果跳转到某个页面,比如:如果检测到用户尚未登录就需要给他跳转到登录页面

1.1navigate

navigate 跳转到一个新的页面,会新增一条历史记录,并且可以通过左上角的返回按钮实现返回操作

<navigator> 标签方式:

`pages/index/index.wxml`

<!-- open-type="navigate" 是默认值 -->
<navigator open-type="navigate" url="/pages/logs/logs">去日志页面</navigator>

js api 方式:

pages/index/index.js

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

2.2wx.switchTab

如果要跳转的页面路径是一个 tabBar 的页时,不能使用 navigate。要使用 switchTab

新建 pages/cart/index

创建两个 tabbar

app.json

 

`<navigator>` 标签方式:

pages/index/index.wxml

`<navigator>` 标签方式:

pages/index/index.wxml

js api 方式:

pages/index/index.js

wx.switchTab({
   url:'/pages/cart/index'
})

1.3redirect

使用 redirect 跳转页面,它替换掉上一次路由记录,所以不会新增一次历史记录。类似于 vue 中的 router.replace('页面地址')

操作:新建 router 页面。从 首页 => 日志页面(使用redirect跳转到路由页面) => 路由页面

<navigator> 标签方式:

pages/logs/logs.wxml

<navigator open-type="redirect" url="/pages/router/index">去路由页面</navigator>

js api 方式:

pages/logs/logs.js

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

1.4reLaunch

使用reLaunch 跳转页面,它会把之前的路由记录全部干掉。

从 首页 => 日志页面 => 路由页面(使用reLaunch跳转到日志页) => 日志页面

`<navigator>` 标签方式:

pages/router/index.wxml

js api 方式:

pages/router/index.js

1.5 wx.navigateBack

wx.navigateBack 返回页面,参数 delta 可以指定返回前几个页面。类似于 vue 中的 router.go(负数)

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值