成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Uni-app + Vue3 頁面如何跳轉及傳參?

開發 前端
Uni-app 頁面路由為框架統一管理的,我們需要在 Page.json 文件里配置每個頁面路由以及頁面樣式,有些類似小程序中的 App.json 文件,所以 Uni-app 的路由用法和寫法與 Vue-router 不同。

Vue 項目往往需要使用 vue-router 插件,剛開始入門 Uni-app + Vue3 項目的同學,會不會想著路由使用 vue-router V4 版本不就可以了嗎?

不怕大家笑話,我就是這樣想的,畢竟我是第一次使用 Uni-app ,由于孕期記性賊差,所以我決定寫成筆記,加深記憶。

uni-app 頁面路由為框架統一管理的,我們需要在 page.json 文件里配置每個頁面路由以及頁面樣式,有些類似小程序中的 app.json 文件,所以 uni-app 的路由用法和寫法與 vue-router 不同。

項目初始化完成,對應的 page.json 文件為:

{"pages": [ //pages數組中第一項表示應用啟動頁,參考:https://uniapp.dcloud.io/collocation/pages{"path": "pages/index/index","style": {"navigationBarTitleText": "uni-app"}}],"globalStyle": {"navigationBarTextStyle": "black","navigationBarTitleText": "uni-app","navigationBarBackgroundColor": "#F8F8F8","backgroundColor": "#F8F8F8"}}

pages 屬性

uni-app 通過 pages 節點配置應用都有哪些頁面,接收一個數組,每個元素都是一個對象,屬性有:

屬性

類型

默認值

描述

path

String


配置頁面路徑

style

Object


配置面狀態欄、導航欄、標題、窗口背景色

  • pages 節點的第一項為應用入口頁(即首頁)。
  • 應用中新增/減少頁面,都需要對 pages 數組進行修改。
  • 文件名不需要寫后綴,框架會自動尋找路徑下的頁面資源。

頁面跳轉

uni-app 頁面路由跳轉有兩種方式:使用 navigator 組件跳轉、調用API 跳轉。

1、navigator組件跳轉

類似于 a 標簽,但是只能跳轉到本地頁面,目標頁面必須在 page.json 中注冊。

<navigator url="/pages/animation-major/index" open-type="navigate"><el-button type="primary">查詢</el-button></navigator>

navigator 屬性有:

屬性名

類型

默認值

說明

平臺差異說明

url

String


應用內的跳轉鏈接,值為相對路徑或絕對路徑,如:"../first/first","/pages/first/first",注意不能加 .vue 后綴


open-type

String

navigate

跳轉方式


delta

Number


當 open-type 為 'navigateBack' 時有效,表示回退的層數


animation-type

String

pop-in/out

當 open-type 為 navigate、navigateBack 時有效,窗口的顯示/關閉動畫效果,詳見:窗口動畫

App

animation-duration

Number

300

當 open-type 為 navigate、navigateBack 時有效,窗口顯示/關閉動畫的持續時間。

App

hover-class

String

navigator-hover

指定點擊時的樣式類,當hover-class="none"時,沒有點擊態效果


hover-stop-propagation

Boolean

false

指定是否阻止本節點的祖先節點出現點擊態

微信小程序

hover-start-time

Number

50

按住后多久出現點擊態,單位毫秒


hover-stay-time

Number

600

手指松開后點擊態保留時間,單位毫秒


target

String

self

在哪個小程序目標上發生跳轉,默認當前小程序,值域self/miniProgram

微信2.0.7+、百度2.5.2+、QQ

open-type 有效值

說明

平臺差異說明

navigate

對應 uni.navigateTo 的功能


redirect

對應 uni.redirectTo 的功能


switchTab

對應 uni.switchTab 的功能


reLaunch

對應 uni.reLaunch 的功能

字節跳動小程序與飛書小程序不支持

navigateBack

對應 uni.navigateBack 的功能


exit

退出小程序,target="miniProgram"時生效

微信2.1.0+、百度2.5.2+、QQ1.4.7+

2、uni-app API 跳轉

uni.navigateTo({url: "/pages/animation-major/index",})

使用 API 頁面跳轉方式有:

  1. uni.navigateTo: 保留當前頁面,跳轉到應用內的某個頁面,使用 navigateBack 可以返回到上一頁。
  2. uni.navigateBack:關閉當前頁面,返回上一級或多級頁面。delta 屬性設置返回層級,大于頁面數時返回首頁。
  3. uni.redirectTo:關閉當前頁面,跳轉到應用內的某個頁面。
  4. uni.reLaunch:關閉應用內所有頁面,打開應用內某個頁面。
  5. uni.switchTab:跳轉到 tabBar 頁面,關閉其他非 tabBar 頁面。
  6. uni.preloaPage:預加載頁面,是一種性能優化技術,被預載的頁面,在打開時速度更快。

頁面棧

框架以棧的形式管理當前所有頁面, 當發生路由切換的時候,頁面棧的表現如下:

路由方式

頁面棧表現

觸發時機

初始化

新頁面入棧

uni-app 打開的第一個頁面

打開新頁面

新頁面入棧

調用 API uni.navigateTo 、使用組件 <navigator open-type="navigate"/>

頁面重定向

當前頁面出棧,新頁面入棧

調用 API uni.redirectTo 、使用組件 <navigator open-type="redirectTo"/>

頁面返回

頁面不斷出棧,直到目標返回頁

調用 API uni.navigateBack 、使用組件 <navigator open-type="navigateBack"/> 、用戶按左上角返回按鈕、安卓用戶點擊物理back按鍵

Tab 切換

頁面全部出棧,只留下新的 Tab 頁面

調用 API uni.switchTab 、使用組件 <navigator open-type="switchTab"/> 、用戶切換 Tab

重加載

頁面全部出棧,只留下新的頁面

調用 API uni.reLaunch 、使用組件 <navigator open-type="reLaunch"/>

頁面傳參

方式1:onLoad 接收

// 跳轉uni.navigateTo({url: "/pages/sendManagement/index?id=123",})<script>import { onMounted } from 'vue';let parmes = null;export default {onLoad(options){parmes = options;},setup() {onMounted(() => {console.log('接受上個頁面傳的值',parmes)})}}</script>

方式2:setup語法糖接收

<script setup>import { onMounted, getCurrentInstance } from 'vue';onMounted(()=>{let options = getCurrentInstance()console.log("options--->",options.attrs);})</script>

onLoad 函數是監聽頁面加載,接收的參數是頁面傳遞的數據,是一個 object 類型。

看到這,相信很快就能上手 uni-app + vue3 項目路由嘍,也可以參考官網教程:

https://uniapp.dcloud.io/tutorial/page.html#%E8%B7%AF%E7%94%B1。

責任編輯:姜華 來源: 今日頭條
相關推薦

2022-07-29 11:03:47

VueUni-app

2022-07-28 08:26:18

Vue3Uni-appVite

2023-11-28 09:03:59

Vue.jsJavaScript

2024-02-01 09:10:04

頁面引導工具Vue3

2024-03-19 08:35:30

Vue3添加水印維護版權標識

2021-09-28 09:30:18

uni-appVue 3.0uniCloud

2021-12-02 05:50:35

Vue3 插件Vue應用

2021-12-01 08:11:44

Vue3 插件Vue應用

2020-12-01 08:34:31

Vue3組件實踐

2021-11-30 08:19:43

Vue3 插件Vue應用

2024-11-06 10:16:22

2022-07-20 11:13:05

前端JSONVue3

2020-09-19 21:15:26

Composition

2023-11-16 08:29:26

2022-07-07 08:00:23

uni-app常用圖表庫

2023-12-11 07:34:37

Computed計算屬性Vue3

2022-07-27 08:40:06

父子組件VUE3

2024-10-14 09:34:39

vue3通信emit

2021-11-16 08:50:29

Vue3 插件Vue應用

2021-05-26 10:40:28

Vue3TypeScript前端
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 99综合 | 国产成人精品一区二 | 亚洲综合三区 | 国产精品视频97 | 欧美日韩国产一区二区三区 | 激情的网站 | 国产一区二区日韩 | 激情欧美日韩一区二区 | 91天堂| 成人免费区一区二区三区 | 成人不卡| 成人精品视频在线观看 | 伊人手机在线视频 | 天堂色| 日本在线观看网址 | 精品欧美一区二区在线观看 | 精品一区二区三区四区 | 日本免费在线 | 免费国产视频 | 特黄视频 | 亚洲精品v| 国产久| 久久久久九九九女人毛片 | 国产精品欧美一区喷水 | 久亚州在线播放 | 久久久久久综合 | 久久久久精 | 国产欧美一级二级三级在线视频 | 国产精品福利在线观看 | 久久99久久 | 国产精品欧美大片 | 在线只有精品 | 中文字幕成人在线 | 亚洲成人一区二区 | 日韩在线不卡 | 久久国产精品免费 | 日韩一区二区三区视频在线播放 | 九九在线精品视频 | a视频在线 | 成人国产在线观看 | 99精品观看|