微信小程序导航组件 navigator使用

一、微信小程序导航组件 navigator使用

//pages/index/index
<navigator url = '/pages/demo/index'>跳转到demo页面</navigator>
<navigator url = '/pages/my/index'>跳转到tabBar页面</navigator>
<navigator url = '/pages/log/index' open-type="redirect">redirect替换demo页面</navigator>
<navigator url = '/pages/my/index' open-type="switchTab">跳转到tabBar页面</navigator>
<navigator url = '/pages/demo/index' open-type="reLaunch">reLaunch到demo页面</navigator>

使用注意事项及区别:
正常跳转不会跳转到tabBar页面,只有使用switchTab才能跳转到tabBar相关页面。
redirect会覆盖路由历史记录中的最后一个页面–历史记录中是 index log
reLaunch会覆盖之前所有的历史记录,只留下最后跳转到的页面–demo
switchTab 跳转到 tabBar 页面,并关闭其他所有非tabBar 页面

js中实现路由跳转
1.wx.navigateTo
跳转到一个新的页面,会新增一种历史记录

// /pages/router/index.js
Page({
  // 普通的跳转
  navigateTo() {
    wx.navigateTo({
      url: '/pages/logs/logs?name=小刚&age=19',
      success() {}
    });
  },
})

2.wx.redirectTo

// /pages/router/index.js
Page({
  // 和 navigateTo 很类似,区别在于不会新增历史记录
  redirectTo() {
    wx.redirectTo({
      url: '/pages/logs/logs?name=小刚&age=19',
    });
  },
});

3.wx.navigateBack
返回页面,参数 delta 可以指定返回前几个页面。
结合getCurrrenPages() 获取页面栈 ,确定要回退的步数。

// /pages/router/index.js
Page({
  // 返回页面
  navigateBack() {
    wx.navigateBack({
      // 回退多少步
      delta: 0,
    });
  },
});


二、路由跳转页面传参&接收参数

方式一:url拼接参数

<navigator url = '/pages/demo/index?name=小明&age=18'>跳转到demo页面</navigator>
//在onLoad方法中接收参数
onLoad({name,age){
	
}

方法二:
在点击

<van-cell title="哼唧家园" mark:point="哼唧家园" bind:tap="getBuilding" is-link />
//接收参数
getBuilding(ev){
	console.log(ev.mark.point)
}
  • 3
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值