您好,登錄后才能下訂單哦!
這篇文章主要介紹了vue-router有什么用,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
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 } //指定路由和對應要渲染的組件 //404的path應該是'*',要放在最末尾,當前面的都匹配不到時才匹配到404頁面 //this.$route.params.id 可以從路由中拿到id數據 ]
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
<template> <div class="app"> <router-view></router-view> </div> </template>
在模板中標注出組件渲染的位置
#號的含義
#號前表示的是發送給服務端的請求,要求返回html文件,而#號后表示的是發送給本地js的請求以尋求解決
路由參數動態綁定
使用watch
watch: { '$route'(to,from) { //to當前路由,from上一個路由 this.id = to.params.id } }
路由的數據傳遞
復制代碼 代碼如下:
<router-link :to="{ name: 'userEdit', params: { id: $route.params.id }, query: { locale: 'en', list: 2 } }"></router-link>
傳query參數可以達到地址欄出現/?locale=en&list=2
通過 $route.query.鍵名 來訪問
命名視圖
router-view 可以通過配置名字 name 來指定組件渲染的位置,增加了組件的復用性,比如分成 header main hero footer 來分別在一個視圖中的不同位置上加載不同的組件
組件懶加載
我們只需要加載我們需要的組件呈現給用戶,而其他不需要第一時間加載的組件,可以使用 webpack 實現異步加載,只在需要的時候才會發出請求,請求加載另一個組件
routes.js
const User = resolve => { require.ensure(['./components/user/User.vue'], () => { resolve(require('./components/user/User.vue')) }, 'GroupName') } //webpack 異步加載,通過組名,將要同時一起加載的組件打包加載
感謝你能夠認真閱讀完這篇文章,希望小編分享的“vue-router有什么用”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。