uni-app中Navigator组件的用法详解及传参方式

 更新时间:2023年09月17日 15:07:25   作者:又在发呆吗?  
这篇文章主要给大家介绍了关于uni-app中Navigator组件的用法详解及传参方式的相关资料,在实际应用开发中我们经常要使用到路由跳转,在uniapp官网中提供了navigator内置组件,供我们使用,需要的朋友可以参考下

引言

在移动应用开发中,页面跳转是一项基础而重要的功能。在uni-app中,我们可以使用Navigator组件来实现页面间的跳转。本文将详细介绍uni-app中Navigator组件的用法,包括基本用法、传参方式以及注意事项。

1.基本用法

1.1 navigator API 介绍

navigator用于页面跳转。
该组件类似HTML中的a标签,但只能跳转本地页面。目标页面必须在pages.json中册。
该组件的功能有API方式,另见:https://uniapp.dcloud.io/api/router?id=navigateto

1.1 uni路由API说明

(图片来源于官方文档)

  • 注意
  • 跳转tabbar页面,必须设置open-type=“switchTab”
  • navigator-hover 默认为 {background-color: rgba(0, 0, 0, 0.1); opacity: 0.7;}, 的子节点背景色应为透明色。
  • navigator-open-type属性 如果使用对应的值,则对应值的功能会高于对应跳转路径。
  • app-nvue 平台只有纯nvue项目(render为native)才支持 。非render为native的情况下,nvue暂不支持navigator组件,请使用API跳转。
  • app下退出应用,Android平台可以使用plus.runtime.quit。iOS没有退出应用的概念。
  • uLink组件是navigator组件的增强版,样式上自带下划线,功能上支持打开在线网页、其他App的schema、mailto发邮件、tel打电话。
  • Vue3 项目因 SSR 需要,H5 端会在外层嵌套 a 标签。

1.2 五种种常见的跳转方式

1.2.1 uni.navigateTo(OBJECT)

保留当前页面,跳转到应用内的某个页面,使用uni.navigateBack可以返回到原页面。

1.2.2 uni.redirectTo(OBJECT)

关闭当前页面,跳转到应用内的某个页面。

1.2.3 uni.reLaunch(OBJECT)

关闭所有页面,打开到应用内的某个页面。

1.2.4 uni.switchTab(OBJECT)

跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面。

1.2.5 uni.navigateBack(OBJECT)

关闭当前页面,返回上一页面或多级页面。

1.3 Navigator组件的基本用法

  • 在需要跳转的页面的.vue文件中,使用Navigator组件的标签:
<navigator url="/pages/index/index"></navigator>

在上述代码中,我们使用url属性设置跳转目标页面的路径,例如上述代码中的跳转目标页面是/pages/index/index。

  • 在源页面的.js文件中,使用以下代码来设置Navigator组件的跳转事件:
onNavigatorTap() {
  uni.navigateTo({
    url: '/pages/index/index'
  })
}

在上述代码中,我们使用uni.navigateTo()方法实现跳转操作,其中url属性用于设置跳转目标页面的路径。

2.传参方式

在实际开发中,我们通常需要将一些参数传递给目标页面。Navigator组件提供了多种传参方式:

2.1 Query参数传递

  • 在源页面中,使用以下代码设置Navigator组件的url属性
<navigator url="/pages/index/index?name=hhs&age=18"></navigator>
  • 在目标页面的.js文件中,可以使用以下代码获取Query参数:
onLoad(options) {
  console.log(options.name) // 输出hhs
  console.log(options.age)  // 输出18
}

2.2 组件间传值

  • 在源页面中,可以使用以下代码设置Navigator组件的事件:
onNavigatorTap() {
  uni.navigateTo({
    url: '/pages/index/index',
    success: function(res) {
      res.eventChannel.emit('customEvent', { name: 'Tom', age: 18 })
    }
  })
}
  • 在目标页面的.js文件中,可以使用以下代码获取传递的参数:
onLoad(options) {
  const eventChannel = this.getOpenerEventChannel()
  eventChannel.on('customEvent', (data) => {
    console.log(data.name) // 输出hhs
    console.log(data.age)  // 输出18
  })
}

3.总结

简单了解uni-app中Navigator的基本用法

到此这篇关于uni-app中Navigator组件的用法详解及传参方式的文章就介绍到这了,更多相关uni-app Navigator组件用法内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • inputSuggest文本框输入时提示、自动完成效果(邮箱输入自动补全插件)

    inputSuggest文本框输入时提示、自动完成效果(邮箱输入自动补全插件)

    inputSuggest在文本框输入字符时提示,类似Windows的“自动完成”功能,当在文本框输入字符时,与此相关的内容会显示在文本框的下边,你可随时使用键盘或鼠标点选那些提示,你就不用输入了
    2012-05-05
  • 小程序实现计时器小功能

    小程序实现计时器小功能

    这篇文章主要为大家详细介绍了小程序实现计时器小功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-09-09
  • 在线编辑器中换行与内容自动提取

    在线编辑器中换行与内容自动提取

    这几天在写在线编辑器,碰到个问题,当使用回车换行时不是你希望的<br>而是<p></p>对或是<div></div>对。使用google搜索,在网上找不到满意的答案。
    2009-04-04
  • js实现一个省市区三级联动选择框代码分享

    js实现一个省市区三级联动选择框代码分享

    省市区三级联动在填写表单时有关地址这一块显得尤为重要,直接提高了用户的填写速度与准确度,接下来本文使用js代码实现一个,感兴趣的你可以参考下希望可以帮助到你
    2013-03-03
  • js查错流程归纳

    js查错流程归纳

    归纳是为了更好的理解。平时同事有问题找我帮忙解决问题,往往都是很小的问题,这种情况他们并不是缺乏解决问题的知识,而是需要找到问题的办法
    2012-05-05
  • 举例讲解JavaScript substring()的使用方法

    举例讲解JavaScript substring()的使用方法

    这篇文章主要通过举例的方法讲解了javaScript substring()的用法,substring() 方法用于提取字符串中介于两个指定下标之间的字符,感兴趣的小伙伴们可以参考一下
    2015-11-11
  • JavaScript 俄罗斯方块游戏实现方法与代码解释

    JavaScript 俄罗斯方块游戏实现方法与代码解释

    这篇文章主要介绍了JavaScript 俄罗斯方块游戏,结合实例形式详细分析了JavaScript 俄罗斯方块游戏原理、实现步骤及相关操作注意事项,需要的朋友可以参考下
    2020-04-04
  • javascript中如何判断类型汇总

    javascript中如何判断类型汇总

    这篇文章主要给大家介绍了关于javascript中如何判断类型的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用javascript具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-05-05
  • JavaScript File API实现文件上传预览

    JavaScript File API实现文件上传预览

    这篇文章主要为大家介绍了JavaScript File API实现文件上传预览,File API将极大地方便 Web 端的文件上传等操作,本文将介绍 File API的概况,并用两个实例展示File API的应用,感兴趣的小伙伴们可以参考一下
    2016-02-02
  • js 遍历对象的属性的代码

    js 遍历对象的属性的代码

    js 遍历对象的属性的代码,遍历出对象的属性可以用for in语句使用方法
    2011-12-12

最新评论