您的当前位置:首页>全部文章>文章详情

【UniApp】uniapp怎么跳转页面?两种方式介绍

CrazyPanda发表于:2023-12-16 22:45:06浏览:344次TAG:

uni-app 是一个基于Vue.js的跨平台开发框架,我们可以用它来开发基于H5、小程序、Android/iOS等多平台的应用程序。其中,页面跳转是一个非常关键的功能,本文将会介绍uni-app中常见的两种页面跳转方式,分别是路由跳转和页面间事件通信。

一、路由跳转

路由跳转是指在uni-app中通过改变页面url的方式来跳转到不同的页面。uni-app提供了一套路由跳转的API,包括:

  1. uni.navigateTo()

使用 uni.navigateTo() 可以跳转到应用的非底部导航栏页面,同时记得在目标页面使用 uni.navigateBack() 方法返回原页面,如下:

<template>
  <view>
    <button @click="gotoPage2()">跳转到页面2</button>
  </view>
</template>
 
<script>
export default {
  methods: {
    gotoPage2() {
      uni.navigateTo({
        url: '/pages/page2/page2'
      })
    }
  }
}
</script>
  1. uni.redirectTo()

使用 uni.redirectTo() 可以关闭当前所有页面,打开应用的非底部导航栏页面,如下:

<template>
  <view>
    <button @click="gotoPage2()">跳转到页面2</button>
  </view>
</template>
 
<script>
export default {
  methods: {
    gotoPage2() {
      uni.redirectTo({
        url: '/pages/page2/page2'
      })
    }
  }
}
</script>
  1. uni.reLaunch()

使用 uni.reLaunch() 可以关闭所有页面,打开应用的非底部导航栏页面,如下:

<template>
  <view>
    <button @click="gotoPage2()">跳转到页面2</button>
  </view>
</template>
 
<script>
export default {
  methods: {
    gotoPage2() {
      uni.reLaunch({
        url: '/pages/page2/page2'
      })
    }
  }
}
</script>
  1. uni.switchTab()

使用 uni.switchTab() 可以跳转到应用的底部导航栏页面,如下:

<template>
  <view>
    <button @click="gotoTab3()">跳转到Tab3</button>
  </view>
</template>
 
<script>
export default {
  methods: {
    gotoTab3() {
      uni.switchTab({
        url: '/pages/tab3/tab3'
      })
    }
  }
}
</script>

二、页面间事件通信

除了路由跳转,我们还可以通过页面间事件通信来达到页面跳转的效果。具体而言,我们可以在父级页面中通过 props 给子页面传递参数,并通过事件监听来实现子页面中的跳转。

例如,我们有一个父级页面 index.vue,其中包含一个 button,点击button后会触发 childEvent()事件,并给子页面传递参数:

<template>
  <view>
    <button @click="childEvent()">跳转到Child页面</button>
    <child :name="name" @backEvent="backEvent"></child>
  </view>
</template>
 
<script>
export default {
  data() {
    return {
      name: 'Mike'
    }
  },
  methods: {
    childEvent() {
      this.name = 'Jerry'
      this.$refs.child.childEvent()
    },
    backEvent(msg) {
      console.log(msg) // '我已经回来了'
    }
  }
}
</script>

在子页面 child.vue 中,我们使用 props 接收父级传递的参数,并监听父级的 backEvent 事件,当事件触发时,执行跳转操作:

<template>
  <view>
    <text>{{ name }}</text>
  </view>
</template>
 
<script>
export default {
  props: {
    name: String
  },
  methods: {
    childEvent() {
      this.$emit('backEvent', '我已经回来了')
    }
  }
}
</script>

本文介绍了uni-app中常见的两种页面跳转方式,包括路由跳转和页面间事件通信。针对不同的业务需求,我们可以选择使用不同的方式进行页面跳转,以达到更好的开发体验和用户体验。

以上就是uniapp怎么跳转页面?两种方式介绍的详细内容,更多请关注php中文网其它相关文章!

本文转自https://www.php.cn/faq/520070.html,如有侵权可联系删除

猜你喜欢

【UniApp】如何在uniapp中实现本地上传音频功能
近年来,随着移动互联网的发展与普及,各种应用程序如雨后春笋般涌现,而其中音频应用程序更是呈现爆发式增长的趋势。像唱吧、麦颂等手持式KTV应用程序已经成为年轻人在休闲娱乐中的重要选择。然而,应用程序中的音频功能大多都需要上传音频文件到服务器,进而实现分享和点播等功能。在此背景下,本文将介绍如何在uniapp中实现本地上传音频功能。uniapp是一个跨平台开发框架,它支持将程序一次性编译为不同平台的应用程序,如iOS、Android、H5等。因此,本文将基于uniapp来介绍如何实现本地上
发表于:2023-12-16 浏览:360 TAG:
【UniApp】uniapp 没有document怎么办
Uniapp是一种跨平台开发框架,可以将代码一次性打包为多个平台运行。然而,与传统的网页开发不同,它并没有像浏览器一样的document对象。许多开发者会发现,在Uniapp开发中,没有了document对象,我们该如何编写代码呢?首先,我们需要了解Uniapp不使用浏览器,而是使用了自己的渲染引擎,名为UniView。UniView的使用方式与浏览器类似,也是使用HTML、CSS、JavaScript进行开发,但是其内部实现与浏览器的实现方式有一些不同,其中最明显的一个不同就是缺少了
发表于:2023-12-16 浏览:346 TAG:
【UniApp】uniapp页面超出手机屏幕怎么办
随着移动设备的普及和互联网的飞速发展,越来越多的开发者开始将目光投向了移动端开发。而在移动端开发中,uniapp框架成为了众多开发者的首选。uniapp是一款基于vue.js的跨平台开发框架,能够实现一次编码,多端发布的效果。无论是iOS端还是安卓端,都可以实现一致的用户体验。但是,随着项目的不断发展,往往会出现页面超出手机屏幕的问题。那么,如何解决这一问题呢?一、flex布局首先,我们可以使用flex布局实现页面适配。如下所示:.container&nbsp;{ &nbsp;&amp;nbs
发表于:2023-12-22 浏览:328 TAG:
【Uniapp】uniapp页面跳转的五种方式总结
一、uni.navigateTo定义:保留当前页面,跳转到应用内的某个页面,使用uni.navigateBack可以返回到原页面。使用://&nbsp;1.不传参 uni.navigateTo({ &nbsp;&nbsp;&nbsp;&nbsp;url:&#39;./home/index&#39; }); //&nbsp;2.传参字符串 uni.navigateTo({ &nbsp;&nbsp;&nbsp;&nbsp;url:`./home/index?title=${title}` });
发表于:2024-03-26 浏览:382 TAG:
【UniApp】uniapp中如何实现音频录制和声音处理
UniApp是一个基于Vue.js的跨平台开发框架,可以帮助开发者在一次编码的基础上同时生成多个平台的应用,包括iOS、Android、H5等。在UniApp中实现音频录制和声音处理的功能,需要使用到uni-extend插件和uni-audio组件。首先,在你的UniApp项目中,需要安装uni-extend插件。打开命令行窗口,切换到你的项目目录下,运行以下命令来安装uni-extend插件:npm&nbsp;install&nbsp;uni-extend安装完成后,在你的项目中创建
发表于:2023-12-11 浏览:351 TAG:
【UniApp】uniapp引入腾讯云播放器
&nbsp; &nbsp; &nbsp; &nbsp; 随着科技的不断发展,人们对于视频媒体的需求和依赖也越来越大。在移动端中,很多应用都需要视频播放功能,然而在实现视频播放时又会面临着很多问题。为了解决这些问题,互联网公司们纷纷推出了自己的视频播放器,腾讯云也不例外。腾讯云播放器是一款流畅、稳定、易于使用的播放器,不仅支持多种格式的视频播放,而且支持高度定制化,可以满足开发者的个性化需求。而本文主要讲述如何在uniapp框架中引入腾讯云播放器。1、注册腾讯云账号在引入腾讯云播放器之前,
发表于:2023-12-25 浏览:324 TAG:
【UniApp】uniapp及vue中动画功能实现方案
需求场景:实际开发过程中,我们经常遇到各类比较炫酷的动画开发,比如简单的echarts插件使用,animation动画等...动画实现方案:1.css动画,如gif,a-png,animation,transform等animation:&nbsp;handleAni&nbsp;1s&nbsp;linear&nbsp;infinite; @keyframes&nbsp;handleAni&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;0%&nbsp;{&nbsp;//css样式&amp;
发表于:2023-12-12 浏览:376 TAG:
【UniApp】最新uniapp打包IOS详细步骤
需要公司提供苹果开发者账号即可1. 打开苹果开发者官网点击打开链接🔗2.点击这个选项打开开发者配置需要注册账号并花钱加入成为开发者才会显示这个选项,一般公司会提供苹果开发者账号的3. 先配置证书Certificates 4.这里需要上传一个CSR文件5.生成CSR文件需要去这个网站 生成,或者通过别的渠道生成CSR文件PS: 上面的网站已经挂了,现在可用网站https://www.yunedit.com/,流程还是一样,生成需要使用到的文件就行 &nbsp;6. 去上传刚刚下载的CSR文件7. 下载苹果
发表于:2023-12-21 浏览:344 TAG:
【UniApp】Flutter和uniapp的区别:适用场景、生态系统和社区支持
随着移动应用开发领域的迅速发展,各种跨平台开发框架也应运而生。在这些框架中,Flutter和uniapp无疑是两个备受关注的热门选择。它们都具有跨平台开发的能力,但在适用场景、生态系统和社区支持等方面存在一些区别。首先,适用场景是选择开发框架的重要考虑因素之一。Flutter是Google推出的UI框架,使用Dart语言进行跨平台开发。它主要适用于开发高性能的移动应用程序,特别是那些对视觉效果和动画效果要求较高的应用。Flutter具有热重载功能,在开发过程中能够实时预览修改后的效果,提高开发效
发表于:2024-03-31 浏览:316 TAG:
【UniApp】uniapp实现如何使用字体图标
Uniapp是一种基于Vue.js框架的跨平台开发框架,可以将应用程序同时打包成Android、iOS、Web等多个平台的应用。在Uniapp中使用字体图标是非常常见的需求,本文将详细介绍如何在Uniapp中使用字体图标,并提供相应的代码示例。一、准备工作在开始之前,需要先准备好需要使用的字体图标文件。常见的字体图标库有Font Awesome、Iconfont等,可以通过官方网站下载对应的字体文件(通常是.woff或.ttf格式)。下载完成后,将字体文件放置在项目的static目录中
发表于:2023-12-23 浏览:337 TAG: