Vue-router是一個(gè)基于Vue.js的官方路由管理器,它和Vue.js的核心深度集成,讓構(gòu)建單頁(yè)面應(yīng)用變得輕而易舉。Vue-router是一個(gè)功能強(qiáng)大的工具,可以幫助我們輕松實(shí)現(xiàn)頁(yè)面之間的導(dǎo)航、狀態(tài)管理等功能。
使用Vue-router需要先安裝它,可以使用npm進(jìn)行安裝,打開(kāi)終端,輸入以下命令即可:
npm install vue-router --save
接下來(lái),在我們的Vue.js應(yīng)用中引入Vue-router。在main.js中,需要先引入Vue-router,然后通過(guò)Vue.use()方法注冊(cè)該插件。
import Vue from 'vue' import VueRouter from 'vue-router' Vue.use(VueRouter)
在引入Vue-router之后,我們需要定義路由,定義路由的方式非常簡(jiǎn)單,我們只需創(chuàng)建一個(gè)數(shù)組,每個(gè)元素都是一個(gè)對(duì)象,對(duì)象中包含該路由的路徑和名字,同時(shí)還需要指向?qū)?yīng)的組件。
const routes = [ { path: '/', name: 'home', component: Home }, { path: '/about', name: 'about', component: About }, { path: '/contact', name: 'contact', component: Contact } ]
這里我們創(chuàng)建了三個(gè)路由:/、/about、/contact,它們分別對(duì)應(yīng)著我們的三個(gè)組件:Home、About、Contact。
定義好路由之后,我們需要實(shí)例化路由器,Vue.js支持我們把路由器實(shí)例化為一個(gè)全局變量,這樣在不同的組件中都可以使用:
const router = new VueRouter({ routes })
路由器實(shí)例化完成后,我們需要將它綁定到Vue實(shí)例的選項(xiàng)中,這樣我們?cè)诮M件中才可以使用該路由器:
new Vue({ router, render: h =>h(App), }).$mount('#app')
現(xiàn)在我們可以在組件中使用路由器了,Vue-router提供了一些組件,用于實(shí)現(xiàn)頁(yè)面對(duì)于不同路徑的響應(yīng)。我們可以在組件中使用這些組件。
Home About Contact
可以看到我們通過(guò)<router-link>
標(biāo)簽來(lái)控制頁(yè)面跳轉(zhuǎn),通過(guò)<router-view>
來(lái)指定路由對(duì)應(yīng)的組件渲染的位置。
在Vue-router中,還提供了一些鉤子函數(shù),用于在路由發(fā)生變化時(shí)進(jìn)行操作,這些鉤子函數(shù)包括:beforeEach、afterEach、beforeRouteEnter、beforeRouteLeave、beforeRouteUpdate。這些鉤子函數(shù)可以用來(lái)進(jìn)行頁(yè)面訪問(wèn)控制、頁(yè)面加載等管理操作。
總之,Vue-router是一個(gè)功能強(qiáng)大的路由管理器,使用它能夠快速實(shí)現(xiàn)單頁(yè)應(yīng)用中路由的管理,讓我們的應(yīng)用變得簡(jiǎn)單而又靈活。