您好,登錄后才能下訂單哦!
本篇內容主要講解“Vue Router 4的新功能有哪些”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Vue Router 4的新功能有哪些”吧!
Vue3支持
Vue 3引入了 createApp API,它改變了將插件添加到Vue實例的方式。由于這個原因,過去版本的Vue Router將不兼容Vue 3。
Vue Router 4引入了 createRouter API,可以創建一個可與Vue 3一起安裝的路由器實例。
src/router/index.js:
import { createRouter } from "vue-router"; export default createRouter({ routes: [...], });
src/main.js:
import { createApp } from "vue"; import router from "./router"; const app = createApp({}); app.use(router); app.mount("#app");
History選項
在之前的Vue Router版本中,你可以設置 mode 選項設置導航的模式。
hash 模式利用URL hash來模擬完整的URL,這樣當URL發生變化時,頁面不會被重新加載。history 利用HTML5 History API來實現URL導航,而不需要重新加載頁面。
src/router/index.js:
// Vue Router 3 const router = new VueRouter({ mode: "history", routes: [...] });
在Vue Router 4中,這些模式已被抽象到模塊中,可以將其導入并分配給新的 history 選項。這種額外的靈活性使你可以根據需要自定義路由歷史記錄的實現。
src/router/index.js
// Vue Router 4 import { createRouter, createWebHistory } from "vue-router"; export default createRouter({ history: createWebHistory(), routes: [], });
動態路由
當路由使用新的 .addRoute 方法運行時,Vue Router 4將允許你添加動態路由。
這可能不是你每天都會使用的功能,但是確實有一些有趣的用例。例如,假設你正在為一個文件系統應用程序創建一個用戶界面,并且希望動態添加路徑,你可以這樣做:
src/components/FileUploader.vue:
methods: { uploadComplete (id) { router.addRoute({ path: `/uploads/${id}`, name: `upload-${id}`, component: FileInfo }); } }
你還可以使用以下相關方法:
removeRoute
hasRoute
getRoutes
導航守衛可以返回值而不是next
導航守衛是Vue Router的鉤子,允許用戶在導航事件之前或之后運行自定義邏輯,如 beforeEach、beforeRouterEnter等。
它們通常用于檢查用戶是否有權限訪問某個頁面,驗證動態路由參數,或者銷毀監聽器。
自定義邏輯運行后,next 回調用于確認路由、聲明錯誤或重定向。
在第4版中,你可以從鉤子中返回一個值或Promise來代替。這將允許像下面這樣方便的速記。
// Vue Router 3 router.beforeEach((to, from, next) => { if (!isAuthenticated) { next(false); } else { next(); } }) // Vue Router 4 router.beforeEach(() => isAuthenticated);
到此,相信大家對“Vue Router 4的新功能有哪些”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。