這篇文章主要介紹了vue-router有什么用,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
創(chuàng)新互聯(lián)專業(yè)提供成都主機托管四川主機托管成都服務(wù)器托管四川服務(wù)器托管,支持按月付款!我們的承諾:貴族品質(zhì)、平民價格,機房位于中國電信/網(wǎng)通/移動機房,西信服務(wù)器托管服務(wù)有保障!
vue-router 快速入門
配置路由
$ npm install vue-router --save
routes.js
import Home from './pages/Home.vue' import Gifs from './pages/Gifs.vue' import User from './pages/User.vue' export const routes = [ { path: '', component: Home }, { path: '/gifs', component: Gifs }, { path: '/user/:id', component: User } //指定路由和對應(yīng)要渲染的組件 //404的path應(yīng)該是'*',要放在最末尾,當(dāng)前面的都匹配不到時才匹配到404頁面 //this.$route.params.id 可以從路由中拿到id數(shù)據(jù) ]
main.js
import VueRouter from 'vue-router' import { routes } from './routes' Vue.use(VueRouter) //路由初始化 const router = new VueRouter({ routes }) //將路由注入根組件 new Vue({ el: '#app', ... router, render: h => h(App) })
App.vue
在模板中標(biāo)注出組件渲染的位置
#號的含義
#號前表示的是發(fā)送給服務(wù)端的請求,要求返回html文件,而#號后表示的是發(fā)送給本地js的請求以尋求解決
路由參數(shù)動態(tài)綁定
使用watch
watch: { '$route'(to,from) { //to當(dāng)前路由,from上一個路由 this.id = to.params.id } }
路由的數(shù)據(jù)傳遞
復(fù)制代碼 代碼如下:
傳query參數(shù)可以達到地址欄出現(xiàn)/?locale=en&list=2
通過 $route.query.鍵名 來訪問
命名視圖
router-view 可以通過配置名字 name 來指定組件渲染的位置,增加了組件的復(fù)用性,比如分成 header main hero footer 來分別在一個視圖中的不同位置上加載不同的組件
組件懶加載
我們只需要加載我們需要的組件呈現(xiàn)給用戶,而其他不需要第一時間加載的組件,可以使用 webpack 實現(xiàn)異步加載,只在需要的時候才會發(fā)出請求,請求加載另一個組件
routes.js
const User = resolve => { require.ensure(['./components/user/User.vue'], () => { resolve(require('./components/user/User.vue')) }, 'GroupName') } //webpack 異步加載,通過組名,將要同時一起加載的組件打包加載
感謝你能夠認真閱讀完這篇文章,希望小編分享的“vue-router有什么用”這篇文章對大家有幫助,同時也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識等著你來學(xué)習(xí)!