Vue-router(路由)

router-路由

一、前端路由

  1. 路由對于后端來說就是請求的路徑和接口函數(shù)的一一對應關系爹梁。
  2. 前端路由的核心就是搀别,改變url ,但是頁面不會進行刷新执赡。也就是路徑的變化和不同的組件之間的切換镰踏。(地址---視圖)

二、路由規(guī)則

哈希模式(hash)

  • URL 中的hash搀玖,本質(zhì)上是改變Windows中的href屬性余境,通過location.hash()來改變href,但是頁面不會刷新灌诅。
  • 地址欄帶#號芳来,刷新時發(fā)送請求不被帶到后端

新增的history模式

  • history.pushState({},'',?url) : 改變href不刷新頁面

  • history.pushState({},'',?url) : 替換上一個

  • history.go(-1) : 返回上一頁


三、Vue-router的使用

1.路由的使用

在views下新建vue文件猜拾,找到router/index.js

import Vue from 'vue'
import VueRouter from 'Vue-router'
Vue.use(VueRouter)
const routes=[
    {
        //配置路徑地址
        path:"/home",
        name:"Home",
        //懶加載即舌,
        component:()=> import (/*webPackChunkName : "home"*/ "對應想要顯示的組件的路徑")
    }
]

2.懶加載

頁面刷新,只有指定的頁面才會被加載挎袜,被設置為函數(shù)component:()=> import (/*webPackChunkName : "home"*/ "對應想要顯示的組件的路徑")不會立即執(zhí)行

  • 懶加載的方式

    // 方式一: 結(jié)合Vue的異步組件和Webpack的代碼分析
    const User = resolve => { require.ensure(['@/views/User.vue'], () => { resolve(require('@/views/User.vue')) }) };
    
    // 方式二: AMD寫法
    const User = resolve => require(['@/views/User.vue'], resolve);
    
    // 方式三: 在ES6中, 我們可以有更加簡單的寫法來組織Vue異步組件和Webpack的代碼分割.   常用
    const Home = () => import(/* webpackChunkName: "user" */ '../views/User.vue')
    
    

3.路由嵌套

在配置的路由下面顽聂,繼續(xù)添加

const routes=[
    {
        //配置路徑地址
        path:"/home",
        name:"Home",
        //懶加載,
        component:()=> import (/*webPackChunkName : "home"*/ "對應想要顯示的組件的路徑"),
        children:[{
                //相對路徑和絕對路徑兩種寫法
             path : "",
             component:()=> import (/*webPackChunkName : "home"*/ "對應想要顯示的組件的路徑")
         }]
     }
]

4.keep-alive

具有緩存作用盯仪,<router-view />展示在keep-alive 標簽下面時組件將會被緩存

  • 原理

    組件之所以會被緩存是因為紊搪,keep-alive 標簽可以將組件生命周期的銷毀和創(chuàng)建階段攔截(destroyed)(created)

    此時生命周期的beforeactivated()和activated()被激活

  • include

    指定需要緩存的組件

    配置路由的時候添加name屬性,

    <keep-alive :include=['name']>
        <router-view />
    </keep-alive>
    
  • exclude

    指定不需要緩存的組件全景,同上

5.query和params

  • 編程式導航

    查詢字符串參數(shù) : query

    $router是路由對象

    //跳轉(zhuǎn)指定組件
    this.$router.push("/user?page=22&size=5")
    this.$router.push({
        path:"",
        query:{
            page:5,
            size:10,
        }
    })
    this.$router.push({
        //路由命名
        name : ""  //配置路由時的name屬性
    })
    

    路徑信息參數(shù) : params

    this.$router.push("/user/55824855")
    this.$router.push({
        //只支持name
        name : "User",
        params : {
            id : 55824855
        }
    })
    

    params 傳參數(shù)相當于在路徑上直接添加

    //App.vue中:
    this.$router.push('/user/12');
    
    // router/index.js中:
    path: '/user/:userId',
        
    // User.vue中:
    created(){
        console.log(this.$route.params.userId);    // 獲取到用戶id12
    }
    

<font color="red">編程式導航中耀石,使用name進行路徑跳轉(zhuǎn),攜帶參數(shù)可以通過params和query爸黄,其中query會將參數(shù)攜帶在導航路徑上滞伟,而使用path進行路徑跳轉(zhuǎn)揭鳞,無法攜帶params,只能攜帶query梆奈。</font>


6.獲取參數(shù)

this.$route.query.page  ||  this.$rote.params.id
  • $route也是路由下的對象野崇,可以獲取到當前組件下配置的路由信息

7.重定向

const routs = [
    {
       //當頁面刷新或者導航欄上的地址只剩'/' 時,將地址欄上的地址重定向為 '/home/user' 
        path : "/",
        redirect : "/home/user"
    }
]
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末亩钟,一起剝皮案震驚了整個濱河市乓梨,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌径荔,老刑警劉巖督禽,帶你破解...
    沈念sama閱讀 217,734評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異总处,居然都是意外死亡狈惫,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,931評論 3 394
  • 文/潘曉璐 我一進店門鹦马,熙熙樓的掌柜王于貴愁眉苦臉地迎上來胧谈,“玉大人,你說我怎么就攤上這事荸频×庑ぃ” “怎么了?”我有些...
    開封第一講書人閱讀 164,133評論 0 354
  • 文/不壞的土叔 我叫張陵旭从,是天一觀的道長稳强。 經(jīng)常有香客問我,道長和悦,這世上最難降的妖魔是什么退疫? 我笑而不...
    開封第一講書人閱讀 58,532評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮鸽素,結(jié)果婚禮上褒繁,老公的妹妹穿的比我還像新娘。我一直安慰自己馍忽,他們只是感情好棒坏,可當我...
    茶點故事閱讀 67,585評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著遭笋,像睡著了一般坝冕。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上瓦呼,一...
    開封第一講書人閱讀 51,462評論 1 302
  • 那天徽诲,我揣著相機與錄音,去河邊找鬼吵血。 笑死谎替,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的蹋辅。 我是一名探鬼主播钱贯,決...
    沈念sama閱讀 40,262評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼侦另!你這毒婦竟也來了秩命?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,153評論 0 276
  • 序言:老撾萬榮一對情侶失蹤褒傅,失蹤者是張志新(化名)和其女友劉穎弃锐,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體殿托,經(jīng)...
    沈念sama閱讀 45,587評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡霹菊,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,792評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了支竹。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片旋廷。...
    茶點故事閱讀 39,919評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖礼搁,靈堂內(nèi)的尸體忽然破棺而出饶碘,到底是詐尸還是另有隱情,我是刑警寧澤馒吴,帶...
    沈念sama閱讀 35,635評論 5 345
  • 正文 年R本政府宣布扎运,位于F島的核電站,受9級特大地震影響饮戳,放射性物質(zhì)發(fā)生泄漏豪治。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,237評論 3 329
  • 文/蒙蒙 一莹捡、第九天 我趴在偏房一處隱蔽的房頂上張望鬼吵。 院中可真熱鬧,春花似錦篮赢、人聲如沸齿椅。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,855評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽涣脚。三九已至,卻和暖如春寥茫,著一層夾襖步出監(jiān)牢的瞬間遣蚀,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,983評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留芭梯,地道東北人险耀。 一個月前我還...
    沈念sama閱讀 48,048評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像玖喘,于是被迫代替她去往敵國和親甩牺。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,864評論 2 354

推薦閱讀更多精彩內(nèi)容