微信小程序之导航

这篇具有很好参考价值的文章主要介绍了微信小程序之导航。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

导航:导航指的是页面之间的互相跳转

tabBar 页面:被配置为 tabBar的页面

声明式导航

实现:在页面上声明一个 <navigator> 导航组件,通过点击 <navigator> 组件实现页面跳转

导航到 tabBar 页面

在使用 <navigator> 组件跳转到指定的 tabBar 页面时,需要指定的 url 属性和 open-type 属性

注:

  • url 表示要跳转到页面的地址,必须以 “/” 开头,以页面名称为结尾(没有后缀)
  • open-type 表示跳转的方式,必须为 switchTab 
<navigator url="/pages/home/home" open-type="switchTab">跳转到首页</navigator>
导航到非 tabBar 页面

在使用 <navigator> 组件跳转到指定的非 tabBar 页面时,需要指定的 url 属性和 open-type 属性

注:

  • url 表示要跳转到页面的地址,必须以 “/” 开头,以页面名称为结尾(没有后缀)
  • open-type 表示跳转的方式,必须为 navigate
<navigator url="/pages/main/main" open-type="navigate">跳转到主页</navigator>
后退导航

 后退到上一页或多级页面时,则需要指定 open-type 属性和 delta 属性

  • open-type 表示要进行后退导航(值必须是 navigateBack )
  • delta 表示要后退的层级(值为整数)
<navigator open-type="navigateBack" delta="1">返回上一层</navigator>

编程式导航

实现:通过触摸事件,调用小程序的导航 API,实现页面的跳转

导航到 tabBar 页面

在事件中调用 wx..switchTab(Object object) 或 wx.reLaunch(Object object) 方法,可以跳转到 tabBar 页面

object 的参数 (注:url 属性是必填)

  • url 需要跳转的 tabBar 页面的路径(switchTab 方法路径中不能带参数)
  • success 接口调用成功的回调函数
  • fail 接口调用失败的回调函数
  • complete 接口调用结束的回调函数(一定会执行的函数)
// 页面
<button bind:tap="gohome" type="primary">跳转首页</button>
// 触摸事件方法
gohome() {
    wx.switchTab({
      url: '../home/home',
      success: () => {
        console.log("跳转成功");
      },
      fail: () => {
        console.log("跳转失败");
      },
      complete: () => {
        console.log("执行");
      }
    })
  }
导航到非 tabBar 页面

在事件中调用 wx..navigateTo(Object object) 方法,可以跳转到非 tabBar 页面

object 的参数 (注:url 属性是必填)

  • url 需要跳转的 tabBar 页面的路径
  • success 接口调用成功的回调函数
  • fail 接口调用失败的回调函数
  • complete 接口调用结束的回调函数(一定会执行的函数)
// 页面
<button bind:tap="gomain" type="primary">跳转主页</button>
// 触摸事件方法
gomain() {
    wx.navigateTo({
      url: '../main/main',
      success: () => {
        console.log("跳转成功");
      },
      fail: () => {
        console.log("跳转失败");
      },
      complete: () => {
        console.log("执行");
      }
    })
  },
后退导航

在事件中调用 wx.navigateBack(Object object) 方法,可以返回上一页或多级页面

object 的参数

  • delta 返回的页面数,如果 delta 大于现有页面数,则返回到首页
  • success 接口调用成功的回调函数
  • fail 接口调用失败的回调函数
  • complete 接口调用结束的回调函数(一定会执行的函数)
// 页面
<button bind:tap="goback" type="primary">返回上一层</button>
// 触摸事件方法
  goback() {
    wx.navigateBack({
      delta:1,
      success: () => {
        console.log("后退成功");
      },
      fail: () => {
        console.log("后退失败");
      },
      complete: () => {
        console.log("执行");
      }
    });
  },

导航的传参

声明式导航传参

在路径的后面直接携带参数

  • 参数与路径之间用 “?” 分隔
  • 参数名与参数值用 “=” 相连
  • 不同的参数用 “&” 分隔

注:open-type 属性值为 switchTab 不能传参

<navigator url="../main/main?id=1&name='张三'" open-type="navigate">跳转到主页</navigator>
编程式导航传参

在事件中调用 wx..navigateTo(Object object) 或 wx.reLaunch(Object object) 方法跳转页面时,可以在路径中携带参数

注:reLaunch 方法可以给 tabBar 页面传参,也可以给 非 tabBar 页面传参

// 页面
<button bind:tap="gohome" type="primary">跳转tabBar页</button>
<button bind:tap="gomain" type="primary">跳转非tabBar页</button> 
hohome() {
 wx.reLaunch({
         url: '../home/home?id=1&name="张三"',
      success: () => {
        console.log("跳转成功");
      },
      fail: () => {
        console.log("跳转失败");
      },
      complete: () => {
        console.log("执行");
      }
    })
},
gomain() {
    wx.navigateTo({
      url: '../main/main?id=1&name="张三"',
      success: () => {
        console.log("跳转成功");
      },
      fail: () => {
        console.log("跳转失败");
      },
      complete: () => {
        console.log("执行");
      }
    })
  }
接收导航参数

通过声明式导航传参或编程式传参所携带的参数,可以在 onLoad 函数中直接获取到数据文章来源地址https://www.toymoban.com/news/detail-795376.html

  onLoad(options) {
    console.log("主页接收参数", options);
  },

到了这里,关于微信小程序之导航的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 微信小程序:12.页面导航

    页面导航指的是页面之间的相互跳转。例如,浏览器中实现的页面导航的方式有两种: 连接 location.href 在页面上声明一个导航组件 通过点击组件实现页面跳转 是指配置TabBar页面 在使用组件跳转到指定的tabBar页面,需要指定url属性和open-type属性,其中: url表示要跳转的页面

    2024年04月27日
    浏览(35)
  • 微信小程序 实现导航守卫

    小程序中是不支持路由拦截的,需要开发者自行封装路由拦截的功能,实践有许多的实现思路,下面我采用的是封装组件的方式实现。比方说一个小程序项目只有一两个页面是不需要登录就可以访问的,其他页面都是需要登录之后才能访问的,那我就用封装一些逻辑来检测用

    2024年02月10日
    浏览(61)
  • 微信小程序置顶导航,替代原生导航栏

    效果图 : 思路:Navigation是小程序的顶部导航组件,当页面配置navigationStyle设置为custom的时候可以使用此组件替代原生导航栏,wx.getSystemInfoSync获取可使用窗口高度 wxml代码: wxss代码: app.json 修改window下navigationStyle 为 custom 最后, wx.getSystemInfoSync 获取可使用窗口高度,app.

    2024年02月04日
    浏览(41)
  • 微信小程序—tabBar导航栏

    1、什么是tabBar? tabBar是移动端应用常见的页面效果,用于实现多页面的快速切换。小程序中常分为: 底部 tabBar 顶部 tabBar 2、tabBar 节点的配置项 position :tabBar的位置,仅支持bottom/top border :tabBar上边框的颜色,仅支持black/white color :tab上文字的默认颜色 selectedColor :tab上文

    2024年02月08日
    浏览(45)
  • 微信小程序自定义顶部导航,滚动页面顶部导航颜色渐变

    微信小程序自定义顶部导航栏,使背景图置顶;当向上滚动页面时,实现顶部导航颜色渐变 实现方法 代码如下(示例): 提示:由于不同的手机机型顶部导航高度不一样,所有要获取手机的信息 总共三步: 1、初始化获取顶部导航信息 2、顶部导航文字上方通过view占位,同

    2024年02月11日
    浏览(55)
  • 微信小程序自定义底部导航栏

    微信小程序自定义底部导航栏,原生实现,不包含其他任何第三方组件,比较干净,开箱即用 效果预览: 可自定义底部导航栏列表样式 可自定义每个菜单的默认、激活后的图标和文字样式 可自定义是否添加中间的大图标菜单,当然也可自定义大图标的默认与激活样式 可自

    2024年02月07日
    浏览(55)
  • 微信小程序--动态设置导航栏颜色

    既然要动态设置导航栏颜色,估计 自定义导航栏 也跑不了 关于动态设置导航栏颜色,微信小程序官方文档给出了一个API: wx.setNavigationBarColor 官方给出的示例: 我的实际使用: 需要注意的是: frontColor只有两个选择: #ffffff 和 #000000 frontColor 、 backgroundColor 两个都需要设置

    2024年02月16日
    浏览(45)
  • 微信小程序内添加腾讯地图 导航

    1、微信小程序---》设置---》第三方设置-----》插件管理----》添加插件  如果搜索不到 腾讯位置服务路线规划插件,可搜索如下地址直接添加 腾讯位置服务路线规划 | 小程序插件 | 微信公众平台 问题:提示添加失败 项目主体不符的,可以通过  服务---》微信服务市场--》搜索

    2024年02月09日
    浏览(70)
  • 高德地图实现-微信小程序地图导航

    1、在高德开放平台注册成为开发者 2、申请开发者密钥(key)。 3、下载并解压高德地图微信小程序SDK 注册账号(https://lbs.amap.com/)) 申请小程序应用的 key 应用管理(https://console.amap.com/dev/key/app)) - 我的应用 - 创建新应用 生成的 key 即可用在程序中 下载相关 sdk 文件,导入 amap-

    2024年02月08日
    浏览(76)
  • 微信小程序01-底部导航栏设置

    1 在app.json找到 pages,增加pages配置地址栏路径,保存后会自动生成相应文件夹; 2,增加  tabBar  参数,“selectedColor” 参数是设置选中后文字的颜色;\\\"list\\\" 中放置导航数据。      list 中 相关参数: pagePath ---- 指向地址                                   text   ---- 

    2024年02月12日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包