路由的高級用法

多級路由

????????????????1.新建一個Mian組件

<template><div> <h1>我是Msg的子組件</h1></div>
</template><script>
export default {name: "Mian",
}
</script><style>
</style>

? ? ? ? ? ? ? ? 2.在router中msg小新建一個路由

? ? ? ?????????


import About from '../pages/About'  
import Message from '../pages/Message' 
import Mian from '../pages/Mian' 
import VueRouter from 'vue-router'//創建并暴露一個路由器
const VR =  new VueRouter({// mode:'history',node:"hash",routes:[{name:"guanyu",path:'/about',component:About,meta:{tittle:"生于小滿"}},{name:"xinxi",path:'/msg',component:Message,meta:{tittle:"小滿為安"},children:[{name:"zi",path:'mian',component:Mian,meta:{tittle:"演技"}, }]}]
})export default VR

? ? ????????? ? 3.在Message組件中調用

<template><div class="d"> <div><h1>我是Msg的內容</h1><router-link to="/msg/mian">跳轉mian</router-link> </div><!-- 展示區 --><router-view></router-view></div>
</template><script>
export default {name: "Message",
}
</script><style scoped>.d{display: flex;flex-direction: column;justify-content: space-around;}</style>

? ? ? ? ? ? ? ? 4.重啟項目

路由傳參

? ? ? ? 1.在router-link中進行傳參

         <!-- 字符串 query--><!-- <router-link to="/msg/mian?id=123">跳轉mian</router-link>  --><!-- 通過query進行對象傳參 --><router-link:to="{path:'/msg/mian',query:{id:123}}" >跳轉mian</router-link> <!-- 通過params進行對象傳參 --><router-link:to="{name:'zi', params:{id:321}}" >跳轉mian</router-link> 

? ? ? ? 2.使用route對象接收

        queryid:{{$route.query.id}} <br>paramsid:  {{$route.params.id}}

props配置

? ? ? ? 1.配置mian路由的props

            children: [{name: "zi",path: 'mian',component: Mian,meta: { tittle: "演技" },// props的第一種寫法,值為對象,該對象中的所有key-value都會以props的形式傳給Detail組件。// props: { a: 1, b: 'hello' },//props的第二種寫法,值為布爾值,若布爾值為真,就會把該路由組件收到的所有params參數,以props的形式傳給Detail組件。// props:true// props的第三種寫法,值為函數props($route) {return {id: $route.query.id,a: 1,b: 'hello'}},}]

? ? ? ? 2.在Mian組件中調用

 props:['id','a','b']
       id:{{id}}  <br>a:{{a}} <br>b:{{b}}

? ? ???

router-link 的replace屬性

????????瀏覽的歷史記錄有兩種寫入方式:分別為push(你點擊進入到下一個路由的時候可以返回到上一個路由)和replace(你點擊進入到下一個路由的時候,瀏覽器左上角不會有返回上一步),push是追加歷史記錄,replace是替換當前記錄。路由跳轉時候默認為push,通過以下方式開啟replace模式

<router-link replace to='/about'>News</router-link>

編程式路由導航?

? ? ? ? ? ? ? ? 通過$router的兩個方法來實現頁面的跳轉,push是默認帶緩存,replace是覆蓋緩存

   <p @click="pbt">跳轉mian router</p>
  methods:{pbt(){this.$router.push(  {name:'zi',query:{id:1,}   })
}
}

????????this.$router.replace( ?) ? 跳轉頁面,replace,會銷毀之前的操作,不會保留

????????this.$router.go() ? 正數向前 負數后退

????????this.$router.back() ? 后退

????????this.$router.afterEach() ? 向前

緩存式路由

? ? ? ? 在銷毀之前,保存之前用戶輸入的數據

    <!-- 展示區 --><keep-alive include="['zi']"><router-view></router-view></keep-alive>

路由獨有的鉤子函數

activated() {console.log("被激活了")this.timer = setTimeout(()=>{this.opacity -= 0.01if (this.opacity <= 0) this.opacity = 1},16)
},
deactivated() {consoole.log("快失活了")clearInterval(this.timer)
},

? ? ? ? 用于關閉定時器但是需要保留數據的時候

路由守衛

????????前置路由守衛,用于驗證用戶身份或者做別的校驗,在router中定義
?? ?VR.beforeEach((from,to,next)=>{console.log("前置路由守衛")if(to.meta.isAuth){if(localStorage.getItem("school" === 'xb')){next()}else{alert("您無權查看該信息")}}else{next()}
})
????????后置路由守衛 ,可用于修改html的tittle
?? ?VR.afterEach((from,to)=>{console.log('后置路由守衛')document.title = to.meta.tittle || '小白系統'
})
????????獨享路由守衛,只有在某個組件里可以使用
beforeEnter:(from,to,next)=>{}
????????組件內路由

????????通過路由規則,進入該組件時調用?

 ?beforeRouteEnter(to, from, next){}

?????????通過路由規則,離開該組件時候調用?

?? ?beforeRouteLeave (to, from, next) {}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/39428.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/39428.shtml
英文地址,請注明出處:http://en.pswp.cn/web/39428.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Canvas合集更更更之實現由畫布中心向外隨機不斷發散的粒子效果

實現效果 1.支持顏色設置 2.支持粒子數量設置 3.支持粒子大小設置 寫在最后&#x1f352; 源碼&#xff0c;關注&#x1f365;蘇蘇的bug&#xff0c;&#x1f361;蘇蘇的github&#xff0c;&#x1f36a;蘇蘇的碼云

java中各種數據類型和集合的判空(代碼演示+工具類)

目錄 基本數據類型 對象類型 集合類型 綜合示例 總結 工具類 hutool 基本數據類型 基本數據類型在Java中不能為null&#xff0c;它們有默認值。基本數據類型包括&#xff1a; intfloatdoublecharbooleanbyteshortlong 因此&#xff0c;對基本數據類型不需要進行判空檢…

實驗九 存儲過程和觸發器

題目 創建并執行一個無參數的存儲過程proc_product1&#xff0c;通過該存儲過程可以查詢商品類別名稱為“筆記本電腦”的商品的詳細信息&#xff1a;包括商品編號、商品名稱、品牌、庫存量、單價和上架時間信息 2、創建并執行一個帶輸入參數的存儲過程proc_product2&#xff…

【軟件測試】Postman接口測試基本操作

&#x1f345; 視頻學習&#xff1a;文末有免費的配套視頻可觀看 &#x1f345; 點擊文末小卡片 &#xff0c;免費獲取軟件測試全套資料&#xff0c;資料在手&#xff0c;薪資嘎嘎漲 Postman-獲取驗證碼 需求&#xff1a;使用Postman訪問驗證碼接口&#xff0c;并查看響應結果…

圖書管理系統(持久化存儲數據以及增添新功能)

目錄 一、數據庫表設計 二、引入MyBatis 和MySQL 驅動依賴 三、配置數據庫 & 日志 四、Model創建 五、枚舉類 常量類用戶登錄 六、用戶登錄 七、添加圖書 八、圖書列表 九、修改圖書 十、刪除圖書 十一、批量刪除 十二、強制登錄 十三、前端代碼 &#xff0…

AI與測試相輔相成

AI助力軟件測試 1.AI賦能軟件測試 使用AI工具來幫助測試人員提高測試效率&#xff0c;提供缺陷分析和缺陷預測。 語法格式 設定角色 具體指示 上下文格式 例: 角色&#xff1a;你是一個測試人員 內容&#xff1a;請幫我生成登錄案例的測試用例 ? 1.只有輸入正確賬號和密碼才…

生命在于學習——Python人工智能原理(3.2.1)

二、隨機變量 2.1 隨機變量及其分布 &#xff08;一&#xff09;基本概念 定義1 隨機變量 隨機變量表示隨機試驗各種結果的實值單值函數&#xff0c;即能用數學分析方法來研究隨機現象&#xff0c;例如某一時間內公共汽車站等車的乘客人數、淘寶在一定時間內的交易次數等&am…

Shenandoah GC概述

文章目錄 1_介紹2_原理1.0版本2.0版本3_ShenandoahGC的執行流程4_并發轉移階段 – 并發問題 1_介紹 Shenandoah 是由Red Hat開發的一款低延遲的垃圾收集器&#xff0c;Shenandoah 并發執行大部分 GC 工作&#xff0c;包括并發的整理&#xff0c;堆大小對STW的時間基本沒有影響…

if __name__ == “__main__“

在Python中&#xff0c;if __name__ "__main__": 這行代碼非常常見&#xff0c;它用于判斷當前運行的腳本是否是主程序。這里的 __name__ 是一個特殊變量&#xff0c;當Python文件被直接運行時&#xff0c;__name__ 被自動設置為字符串 "__main__"。但是&…

【pearcmd】通過pearcmd.php 進行GetShell

https://cloud.tencent.com/developer/article/2204400 關于PHP 配置 register_argc_argv 小結 的一些研究文章。 應用例題 [NewStarCTF 2023 公開賽道]Include &#x1f350; <?phperror_reporting(0);if(isset($_GET[file])) {$file $_GET[file];if(preg_match(/flag|l…

如何理解synchronized鎖升級

在Java中&#xff0c;synchronized 關鍵字是實現線程同步的一種方式&#xff0c;它涉及到鎖的升級和釋放的過程。理解synchronized 鎖的升級可以分為三個階段&#xff1a;無鎖狀態、偏向鎖狀態和輕量級鎖狀態。 無鎖狀態&#xff1a; 當對象被創建時&#xff0c;默認處于無鎖狀…

貪心 | Java | LeetCode 455, 376, 53 做題總結

貪心算法介紹 貪心算法&#xff1a;貪心的本質是選擇每一階段的局部最優&#xff0c;從而達到全局最優。 說實話貪心算法并沒有固定的套路。 一般解題步驟 貪心算法一般分為如下四步&#xff1a; ① 將問題分解為若干個子問題 ② 找出適合的貪心策略 ③ 求解每一個子問題的…

SQL Server數據庫的組成

《SQL Server 2022從入門到精通&#xff08;視頻教學超值版&#xff09;》圖書介紹-CSDN博客 對于數據庫的概念&#xff0c;沒有一個完全固定的定義&#xff0c;隨著數據庫歷史的發展&#xff0c;定義的內容也有很大的差異&#xff0c;其中一種比較普遍的觀點認為&#xff0c;…

Java中的并行計算與任務分發策略

Java中的并行計算與任務分發策略 大家好&#xff0c;我是免費搭建查券返利機器人省錢賺傭金就用微賺淘客系統3.0的小編&#xff0c;也是冬天不穿秋褲&#xff0c;天冷也要風度的程序猿&#xff01; 并行計算的重要性與挑戰 在當今軟件開發領域&#xff0c;隨著數據量和計算復…

c++獲取路徑中的文件名

C獲取路徑中的文件名有狠多方法&#xff0c;最常見的方法&#xff1a; 使用C標準庫 首先&#xff0c;可以使用C標準庫中的字符串處理函數來獲取路徑中的文件名。可以通過以下步驟實現&#xff1a; 使用字符串分割函數&#xff08;例如std::string::find_last_of、std::string…

Winform中使用HttpClient實現調用http的post接口并設置傳參content-type為application/json示例

場景 Winform中怎樣使用HttpClient調用http的get和post接口并將接口返回json數據解析為實體類&#xff1a; Winform中怎樣使用HttpClient調用http的get和post接口并將接口返回json數據解析為實體類_winform解析json-CSDN博客 上面使用HttpClient調用post接口時使用的HttpCon…

21.《C語言》——【位操作符】

&#x1f33b;開場語 親愛的讀者&#xff0c;大家好&#xff01;我是一名正在學習編程的高校生。在這個博客里&#xff0c;我將和大家一起探討編程技巧、分享實用工具&#xff0c;并交流學習心得。希望通過我的博客&#xff0c;你能學到有用的知識&#xff0c;提高自己的技能&a…

今天不看文章,明天變垃圾(明天收費)-----字節數據分析發展過程中所遭遇的挑戰

字節數據分析發展過程中所遭遇的挑戰 三個核心議題&#xff1a; 海量數據分析性能&#xff1a;會議指出Spark分析性能不足成為了一個顯著問題&#xff0c;尤其是在需要毫秒級響應的業務場景中。實時導入與查詢能力&#xff1a;目前Kylin只能以T1的形式提供分析服務&#xff0…

藍牙資訊|蘋果Apple Pencil新專利:用筆套擴展傳感器 / 續航等模塊化方案

根據美國商標和專利局最新公示的清單&#xff0c;蘋果公司獲得了一項 Apple Pencil 的專利&#xff0c;探索了模塊化設計方案&#xff0c;用戶未來可以根據自身需求或者使用場景&#xff0c;隨心更換 Pencil 的模塊&#xff0c;達到不同的效果。 蘋果在專利中表示筆套內置傳感器…

Docker實戰教程(一)

文章目錄 Docker實戰教程一、Docker簡介二、Docker安裝過程1. Windows上安裝Docker2. Linux上安裝Docker三、Docker基本概念四、Docker常用命令五、Docker常見應用場景六、總結Docker實戰教程 Docker是一種開源的容器化平臺,能夠自動化應用程序的部署、管理和隔離。它使得開發…