自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Vue Router 4的一些很酷的功能

開發(fā) 前端
Vue Router 4目前處于測試階段。讓我們看一下這個新版本中的一些很酷的功能。

Vue Router 4目前處于測試階段。讓我們看一下這個新版本中的一些很酷的功能。

Vue3支持

Vue 3引入了 createApp API,它改變了將插件添加到Vue實(shí)例的方式。由于這個原因,過去版本的Vue Router將不兼容Vue 3。

Vue Router 4引入了 createRouter API,可以創(chuàng)建一個可與Vue 3一起安裝的路由器實(shí)例。

src/router/index.js:

  1. import { createRouter } from "vue-router"; 
  2.  
  3. export default createRouter({ 
  4.   routes: [...], 
  5. }); 

src/main.js:

  1. import { createApp } from "vue"; 
  2. import router from "./router"; 
  3.  
  4. const app = createApp({}); 
  5. app.use(router); 
  6. app.mount("#app"); 

History選項(xiàng)

在之前的Vue Router版本中,你可以設(shè)置 mode 選項(xiàng)設(shè)置導(dǎo)航的模式。

hash 模式利用URL hash來模擬完整的URL,這樣當(dāng)URL發(fā)生變化時(shí),頁面不會被重新加載。history 利用HTML5 History API來實(shí)現(xiàn)URL導(dǎo)航,而不需要重新加載頁面。

src/router/index.js:

  1. // Vue Router 3 
  2. const router = new VueRouter({ 
  3.   mode: "history", 
  4.   routes: [...] 
  5. }); 

在Vue Router 4中,這些模式已被抽象到模塊中,可以將其導(dǎo)入并分配給新的 history 選項(xiàng)。這種額外的靈活性使你可以根據(jù)需要自定義路由歷史記錄的實(shí)現(xiàn)。

src/router/index.js

  1. // Vue Router 4 
  2. import { createRouter, createWebHistory } from "vue-router"; 
  3.  
  4. export default createRouter({ 
  5.   history: createWebHistory(), 
  6.   routes: [], 
  7. }); 

動態(tài)路由

當(dāng)路由使用新的 .addRoute 方法運(yùn)行時(shí),Vue Router 4將允許你添加動態(tài)路由。

這可能不是你每天都會使用的功能,但是確實(shí)有一些有趣的用例。例如,假設(shè)你正在為一個文件系統(tǒng)應(yīng)用程序創(chuàng)建一個用戶界面,并且希望動態(tài)添加路徑,你可以這樣做:

src/components/FileUploader.vue:

  1. methods: { 
  2.   uploadComplete (id) { 
  3.     router.addRoute({ 
  4.       path: `/uploads/${id}`, 
  5.       name: `upload-${id}`, 
  6.       component: FileInfo 
  7.     }); 
  8.   } 

你還可以使用以下相關(guān)方法:

  • removeRoute
  • hasRoute
  • getRoutes

導(dǎo)航守衛(wèi)可以返回值而不是next

導(dǎo)航守衛(wèi)是Vue Router的鉤子,允許用戶在導(dǎo)航事件之前或之后運(yùn)行自定義邏輯,如 beforeEach、beforeRouterEnter等。

它們通常用于檢查用戶是否有權(quán)限訪問某個頁面,驗(yàn)證動態(tài)路由參數(shù),或者銷毀監(jiān)聽器。

自定義邏輯運(yùn)行后,next 回調(diào)用于確認(rèn)路由、聲明錯誤或重定向。

在第4版中,你可以從鉤子中返回一個值或Promise來代替。這將允許像下面這樣方便的速記。

  1. // Vue Router 3 
  2. router.beforeEach((to, from, next) => { 
  3.   if (!isAuthenticated) { 
  4.     next(false); 
  5.   } 
  6.   else {  
  7.     next(); 
  8.   } 
  9. }) 
  10.  
  11. // Vue Router 4 
  12. router.beforeEach(() => isAuthenticated); 

總結(jié)

這些只是版本4中新增的一些新功能。您可以在Vue Router Next倉庫中了解更多信息。

感謝Eduardo和團(tuán)隊(duì)為Vue Router 4所做的巨大努力!

 

責(zé)任編輯:趙寧寧 來源: 今日頭條
相關(guān)推薦

2018-07-30 08:41:48

VueReact區(qū)別

2017-08-23 09:26:16

Chromelive 狀態(tài)代碼

2018-09-11 16:15:36

Vue高版本前端

2009-09-10 16:01:26

介紹LINQ

2023-11-09 08:05:40

IDEA開發(fā)工具

2021-10-21 06:52:17

Vue3組件 API

2023-03-17 08:28:17

GPT-4AI

2009-11-26 09:40:48

2018-02-23 13:25:49

LinuxVim編輯器

2021-05-14 07:35:06

Vue Router 特性變化

2009-06-18 14:54:52

Spring AOP

2013-07-02 10:18:20

編程編程策略

2020-02-03 16:03:36

疫情思考

2016-11-16 21:18:42

android日志

2009-09-21 17:46:25

Hibernate數(shù)據(jù)

2013-07-02 09:43:02

編程策略

2011-06-01 16:50:21

JAVA

2010-09-28 14:14:19

SQL語句

2009-06-25 09:50:32

JSF

2021-03-03 12:33:31

微軟Windows SerInsider
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號