vue中router與route區別

vue-router中經常會操作的兩個對象route和router兩個。

1、$route對象

? ??????$route對象表示當前的路由信息,包含了當前 URL 解析得到的信息。包含當前的路徑,參數,query對象等。

? ??1.? ??$route.path? ? ? 字符串,對應當前路由的路徑,總是解析為絕對路徑,如"/foo/bar"。

? ??2.? ??$route.params? ? ? 一個 key/value 對象,包含了 動態片段 和 全匹配片段,? ? ? 如果沒有路由參數,就是一個空對象。

? ??3.? ??$route.query? ? ? 一個 key/value 對象,表示 URL 查詢參數。? ? ? 例如,對于路徑 /foo?user=1,則有$route.query.user == 1,? ? ? 如果沒有查詢參數,則是個空對象。

? ??4.? ??$route.hash? ? ? 當前路由的hash值 (不帶#) ,如果沒有 hash 值,則為空字符串。錨點*

? ??5.? ??$route.fullPath? ? ? 完成解析后的 URL,包含查詢參數和hash的完整路徑。

? ??6.? ??$route.matched? ? ? 數組,包含當前匹配的路徑中所包含的所有片段所對應的配置參數對象。

? ??7.? ??$route.name? ? 當前路徑名字

? ??8.? ??$route.meta? 路由元信息

????導航鉤子的參數:

????router.beforeEach((to,from, next)=>{//to 和from都是 路由信息對象,后面使用路由的鉤子函數就容易理解了})

2、$router對象

? ??????$router對象是全局路由的實例,是router構造方法的實例。

路由實例方法:

1、push

????1.字符串this.$router.push('home')

????2. 對象this.$router.push({path:'home'})

????3. 命名的路由this.$router.push({name:'user',params:{userId:123}})

????4.帶查詢參數,變成 /register?plan=123this.$router.push({path:'register',query:{plan:'123'}})

????push方法其實和<router-link :to="...">是等同的。

????注意:push方法的跳轉會向 history 棧添加一個新的記錄,當我們點擊瀏覽器的返回按鈕時可以看到之前的頁面。

2、go

?????頁面路由跳轉?

? ? ?前進或者后退this.$router.go(-1)? // 后退

3、replace

????push方法會向 history 棧添加一個新的記錄,而replace方法是替換當前的頁面,

????不會向 history 棧添加一個新的記錄

4.一般使用replace來做404頁面

????this.$router.replace('/')

????配置路由時path有時候會加 '/' 有時候不加,以'/'開頭的會被當作根路徑,就不會一直嵌套之前的路徑。

$router對象是全局路由的實例,是router構造方法的實例。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 回憶: 我們知道,h5的history或者hash幫助我們解決了,變化url跳轉頁面不發送請求,并且我們能監聽到u...
    LoveBugs_King閱讀 3,663評論 0 5
  • 一、基本用法 React Router 安裝命令如下。 $ npm install -S react-router...
    sunnyghx閱讀 4,539評論 0 6
  • 一、前言 要學習vue-router就要先知道這里的路由是什么?為什么我們不能像原來一樣直接用 標簽編寫鏈接哪?...
    浪里行舟閱讀 67,760評論 12 203
  • 概要 64學時 3.5學分 章節安排 電子商務網站概況 HTML5+CSS3 JavaScript Node 電子...
    阿啊阿吖丁閱讀 9,290評論 0 3
  • 花落時 文/若伊 隔一重山水 你是我回不去的原鄉 坐落于光陰的兩岸 幾處合歡絢爛而開 還記...
    伊蕊276閱讀 260評論 0 0