首頁 web前端 uni-app uniapp怎麼跳轉頁?兩種方式介紹

uniapp怎麼跳轉頁?兩種方式介紹

Apr 18, 2023 pm 02:09 PM

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中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)