Vue Router 是一個(gè)官方的路由器庫,可以將多個(gè)組件映射到不同的 URL,隨著用戶的操作,它可以與動(dòng)態(tài)加載組件進(jìn)行配合以進(jìn)行異步請求,使用起來十分方便。而在Vue Router中,還有一種路由匹配方式,即原生HTML匹配,它可以幫助我們更快速地創(chuàng)建動(dòng)態(tài)路由應(yīng)用。
首先,我們需要在Vue中引入Vue Router,具體代碼如下:
import Vue from 'vue' import VueRouter from 'vue-router' Vue.use(VueRouter)
接下來,我們需要在HTML文件中創(chuàng)建一個(gè)router-view標(biāo)簽,它的作用是指定一個(gè)視圖容器,當(dāng)URL匹配到某個(gè)路由時(shí),該視圖容器將被渲染。代碼如下:
<div id="app"> <router-view></router-view> </div>
接著,我們需要?jiǎng)?chuàng)建一些路由定義,即指定URL和對應(yīng)組件。我們可以使用一些原生HTML的標(biāo)簽,例如a標(biāo)簽作為鏈接,可以在href屬性中指定URL,代碼如下:
<a href="/home">Home</a>
接下來,我們需要在Vue Router中定義這些路由。代碼如下:
const router = new VueRouter({ routes: [ { path: '/home', component: Home }, { path: '/about', component: About } ] })
在上述代碼中,routes屬性是一個(gè)數(shù)組,其中每個(gè)元素都代表一個(gè)路由定義。每個(gè)路由定義都包括一個(gè)path屬性,指定了URL路徑,和一個(gè)component屬性,指定了該路由對應(yīng)的組件。
現(xiàn)在,我們需要在Vue實(shí)例中使用該路由器。在Vue實(shí)例中,我們需要指定一個(gè)router屬性,并將其值設(shè)置為router對象,代碼如下:
const app = new Vue({ router, render: h =>h(App) }).$mount('#app')
最后,我們還需要注意一點(diǎn):在原生HTML中,當(dāng)用戶單擊鏈接時(shí),瀏覽器會(huì)刷新頁面并向服務(wù)器請求新頁面。但是,對于Vue Router而言,我們希望單擊鏈接時(shí)僅更新URL,不進(jìn)行頁面刷新。為此,我們可以使用Vue Router提供的v-router-link指令代替a標(biāo)簽,代碼如下:
<router-link to="/home">Home</router-link>
所有代碼完成后,我們就成功地創(chuàng)建了一個(gè)Vue應(yīng)用,使用了Vue Router的原生HTML路由匹配方式,使得我們能夠快速創(chuàng)建動(dòng)態(tài)路由應(yīng)用。