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

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

CrazyPanda发表于:2023-12-16 22:45:06浏览:334次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 安卓应用版本自动更新及下载安装
一. 前言近期进行 Uniapp 的开发,在项目发布的最后需要实现版本的自动检测和更新下载功能 特地在此进行文章的整理,以方便道友们减少前进道路上的坎坷,多谢指摘 …注: 本次指导,以更新 安卓应用 为案例(非热更新),ios、小程序等可举一反三,稍作优化!二. 设计思路 1.&nbsp;&nbsp;在服务端配置一个最新的应用版本号; 并将打包生成的&nbsp;apk(安卓应用)&nbsp;置于服务器,保证可成功访问的链接 2.&nbsp;&nbsp;在前端&nbsp;Uniapp&amp;nbs
发表于:2023-12-12 浏览:395 TAG:
【UniApp】uniapp 没有document怎么办
Uniapp是一种跨平台开发框架,可以将代码一次性打包为多个平台运行。然而,与传统的网页开发不同,它并没有像浏览器一样的document对象。许多开发者会发现,在Uniapp开发中,没有了document对象,我们该如何编写代码呢?首先,我们需要了解Uniapp不使用浏览器,而是使用了自己的渲染引擎,名为UniView。UniView的使用方式与浏览器类似,也是使用HTML、CSS、JavaScript进行开发,但是其内部实现与浏览器的实现方式有一些不同,其中最明显的一个不同就是缺少了
发表于:2023-12-16 浏览:338 TAG:
【UniApp】利用uniapp实现拖拽排序功能
利用uniapp实现拖拽排序功能,需要具体代码示例随着移动端应用的普及和需求的增长,拖拽排序功能变得越来越重要。无论是在社交媒体应用中的朋友圈排序,还是在任务列表中的任务排序,都需要拖拽排序功能来提供用户更好的交互体验。利用uniapp框架,我们可以很方便地实现拖拽排序功能。首先,我们需要创建一个uniapp项目,并创建一个列表页面。在页面中,我们可以展示一个列表,每个列表项都可以通过拖拽来改变自己的顺序。下面是一个简单的代码示例:
发表于:2023-12-09 浏览:380 TAG:
【UniApp】如何在uniapp中实现全局状态管理
如何在uniapp中实现全局状态管理,需要具体代码示例引言:在uniapp开发中,全局状态管理是非常重要的一部分,它可以方便地实现数据共享和状态管理,提高开发效率。本文将介绍如何在uniapp中实现全局状态管理,并提供具体的代码示例。一、什么是全局状态管理?全局状态管理是一种用于管理应用程序全局状态的方法。它可以将应用程序的状态存储在一个全局的数据仓库中,并通过触发和监听状态的变化,实现不同组件之间的数据共享和通信。在uniapp中,全局状态管理可以帮助我们解决多个组件之间的数据传递和
发表于:2023-12-11 浏览:438 TAG:
【UniApp】uniapp怎么设置边框样式
Uniapp是一款开源的跨平台移动端开发框架,可以帮助开发者快速实现应用程序的设计和实现。在开发中,设置边框是相当重要的一项工作,可以有效的提高程序的美观度和用户体验度。本文将使用Uniapp框架,介绍如何设置边框,让你的移动应用更加美观和有质感。一、基础设置设置边框可以使用CSS的border样式,常用的参数包括:宽度、线条类型、颜色等。具体使用方法如下:border:&nbsp;[width]&nbsp;[line-style]&nbsp;[color];其中最常用的参数包括宽度和
发表于:2023-12-17 浏览:337 TAG:
【UniApp】UniApp页面间的三种传参方式
一、 在跳转页面时使用URL编程式传参单向传递:只能上级页面传递到下级页面 注意:这种方法不适用传递大量的数据,传递的数据只能是string类型,如果想要传递对象或数组则需要使用JSON.stringify进行转换。 不适合用在uni.navigateBack(不携带跳转路由) 上级页面(通过URL传递数据)注意:后面拼接参数中不能存在空格,否则无法传递的参数为字符串属性&nbsp;preserveRevise(){ uni.navigateTo({ url:&#39;/pages/add
发表于:2024-03-29 浏览:306 TAG:
【UniApp】uniapp跨域
问:为什么会有跨域问题? 由于浏览器的同源策略导致的,是浏览器的一种安全保护机制。 浏览器从一个域名的网页去请求另一个域名的资源时,协议、域名、端口 任一不同,都是跨域解决uniapp的跨域问题有很多方式,下面总结一下常用的几种方式 1. 使用 jsonp,可在我们封装的网络通讯中添加dataType:&#39;jsonp&#39;总结: 但是此种方式仅支持 get 请求,post好像用不了。 具体可参考:https://www.imooc.com/article/2919312. 在unia
发表于:2023-12-08 浏览:331 TAG:
【UniApp】uniapp 实现抽奖幸运大转盘功能
实现抽奖幸运大转盘功能。效果图:资源图片:&nbsp;如果奖品是支持动态的,需要自己重新改一下布局,逻辑不变。代码:&lt;template&gt; &lt;view&nbsp;class=&quot;relative&quot;&gt; &lt;image&nbsp;:src=&quot;require(&#39;@/static/newPerson/bj.png&#39;)&quot;&nbsp;mode=&quot;widthFix&quot;&nbsp;class=&quot;&amp;q
发表于:2023-12-12 浏览:420 TAG:
【UniApp】uniapp怎么隐藏导航
Uniapp是一种基于Vue.js开发的跨平台应用开发框架,它支持将一个应用打包成多个平台(如iOS、Android、H5等)。在开发Uniapp应用时,我们需要经常操作一些导航相关的功能,如导航栏、底部栏等的显示和隐藏。本文将介绍在Uniapp中如何实现隐藏导航的功能。在pages.json中配置导航栏先来看一下Uniapp中如何配置导航栏。在Uniapp中,我们可以通过pages.json文件来进行页面的配置。举个例子,在pages.json中如下配置:{ &nbsp;&nbsp;
发表于:2023-12-22 浏览:331 TAG:
【UniApp】uniapp怎么清除小程序微信登录信息
随着互联网的快速发展,移动应用的开发变得越来越流行。而随着不同平台的不断涌现,开发者们需要不断学习新的技术和工具。UniApp正是一个强大的跨平台框架,可以让开发者以一个代码库创建多个平台的应用。在UniApp中,一些常见的功能如微信登录已经内置了。当用户使用UniApp创建小程序时,可以使用内置的微信登录功能来实现用户认证。然而,在某些情况下,开发者可能需要清除小程序中的微信登录信息。在本文中,我们将解释如何清除UniApp中小程序的微信登录信息。一、什么是微信登录?微信登录是微信开
发表于:2023-12-25 浏览:290 TAG: