在前端開發中,導航和路由是非常重要的兩個概念。導航是指頁面之間的跳轉,而路由則是指通過 URL 來區分不同的頁面并展示相應的內容。而在 Vue 中,我們可以借助 Vue Router 來實現導航和路由的功能。
首先,我們需要使用 npm 安裝 Vue Router。
npm install vue-router
然后,在 main.js 中引入 Vue Router:
import Vue from 'vue' import VueRouter from 'vue-router' Vue.use(VueRouter)
接下來,我們可以定義我們的路由規則。在路由規則中,我們可以指定每個 URL 對應的組件,以及子路由等等。例如,我們可以這樣定義路由規則:
const routes = [ { path: '/', component: Home }, { path: '/about', component: About }, { path: '/user/:id', component: User, // 按需加載,減少首屏加載時間 props: route =>({ id: Number(route.params.id) }), children: [ { path: 'profile', component: Profile }, { path: 'posts', component: Posts } ] } ]
上面代碼中,我們定義了三個路由規則。第一個是訪問根路徑時,展示 Home 組件;第二個是訪問 /about 路徑時,展示 About 組件;第三個是訪問 /user/:id 路徑時,展示 User 組件,并且這個路徑下有兩個子路由,分別是 /user/:id/profile 和 /user/:id/posts。
接下來,我們可以創建一個 VueRouter 實例,將路由規則作為參數傳入:
const router = new VueRouter({ routes })
在組件中,我們可以使用<router-link>
標簽來生成鏈接,以實現頁面之間的跳轉。例如,以下代碼可以在頁面中生成指向 /about 的鏈接:
About
相應地,在組件中我們還需要使用<router-view>
標簽來展示當前路由所對應的組件。例如,以下代碼可以在頁面中展示當前路由所對應的組件:
最后,我們需要將 router 實例作為參數傳入 Vue 實例中:
new Vue({ router, render: h =>h(App) }).$mount('#app')
通過以上步驟,我們便可以實現 Vue 中的導航和路由功能了。Vue Router 還提供了很多其他的 API,例如路由跳轉、參數傳遞、鉤子函數等等,詳見官方文檔。