亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Vue-Router模式和鉤子的用法

 更新時間:2018年02月28日 09:51:32   作者:木子墨  
本篇文章主要介紹了Vue-Router模式和鉤子的用法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

上一篇主要寫了一下vuer-router的基本使用,可以說解決溫飽了,下面就再來點下午茶吧

模式

vue-router中的模式選項主要在router實例化的時候進行定義的,如下

const router = new VueRouter({
   mode: 'history', // 兩種類型history 還有 hash
   routes: routes // 可以縮寫成routes
})

有兩種模式可供選擇,history 和 hash,大致對比一下,

模式 優(yōu)點 缺點
hash 使用簡單、無需后臺支持 在url中以hash形式存在,不會傳到后臺
history 地址明確,便于理解和后臺處理 需要后臺配合

hash模式對于后臺來講就是一個url,因為地址中的hash值是不會傳到后臺的,所以服務器端做一個根地址的映射就可以了。
history模式最終的路由都體現(xiàn)在url的pathname中,這部分是會傳到服務器端的,因此需要服務端對每一個可能的path值都作相應的映射?;蛘卟捎媚:ヅ涞姆绞竭M行映射。

除此之外,history模式下,如果后端不是一對一的進行映射,而是模糊匹配的話,那么就要注意一下404的情況了。這個時候就需要在前端router中定義404頁面了。

404路由的定義

由于router本身的匹配是從上到下的,如果在前面找到了匹配的路由,就跳轉了。因此可以直接在最后添加404的路由,如下

let routerConfig = [{
  path: '/pages',
  component: App,
  children: [{
    path: 'demo/step1/list',
    component: coupon,
    name: 'coupon-list',
    meta: {
      title: '紅包'
    }
  }]
}, {
  path: '*',
  component: NotFound,
  name: 'notfound',
  meta: {
    title: '404-頁面丟了'
  }
}]

在前面匹配不到的時候,* 代表全部,就是都指向404頁面

路由鉤子

路由鉤子主要是給使用者在路由發(fā)生變化時進行一些特殊的處理而定義的,靠。。好拗口啊。

總體來講vue里面提供了三大類鉤子

1、全局鉤子
2、某個路由獨享的鉤子
3、組件內(nèi)鉤子

全局鉤子

顧名思義,全局鉤子全局用,使用如下

const router = new VueRouter({
  mode: 'history',
  base: __dirname,
  routes: routerConfig
})

router.beforeEach((to, from, next) => {
  document.title = to.meta.title || 'demo'
  if (!to.query.url && from.query.url) {
    to.query.url = from.query.url
  }
  next()
})

router.afterEach(route => {
})

某個路由獨享鉤子

就像說的一樣,給某個路由單獨使用的,本質上和后面的組件內(nèi)鉤子是一樣的。都是特指的某個路由。不同的是,這里的一般定義在router當中,而不是在組件內(nèi)。如下

const router = new VueRouter({
 routes: [
  {
   path: '/foo',
   component: Foo,
   beforeEnter: (to, from, next) => {
    // ...
   },
   beforeLeave: (to, from, next) => {
    // ...
   }
  }
 ]
})

組件內(nèi)鉤子

首先看一下官方定義:

你可以在路由組件內(nèi)直接定義以下路由導航鉤子

  1. beforeRouteEnter
  2. beforeRouteUpdate (2.2 新增)
  3. beforeRouteLeave

路由組件!路由組件!路由組件!重要的事情說三遍,大家一定要注意這里說的是“路由組件”,而路由組件!== 組件,路由組件!== 組件,路由組件!== 組件!之前一直沒注意這點,然后在子組件里面傻乎乎的調(diào)鉤子函數(shù)發(fā)現(xiàn)一直沒用。。。

我們先來看一下什么是路由組件?

路由組件:直接定義在router中component處的組件

也就是說router中定義的入口vue文件之外的組件,是沒有鉤子函數(shù)的,也就不用說使用了。但是如果你使用了并不會報錯,只是沒反應。(本想畫個圖的,太懶了。。。自己理解理解吧,很好理解的)

這里再回頭看下這個路由內(nèi)鉤子是怎么用的,很簡單和data、method平級的方法

beforeRouteLeave(to, from, next) {
  // ....
  next()
},
beforeRouteEnter(to, from, next) {
  // ....
  next()
},
beforeRouteUpdate(to, from, next) {
  // ....
  next()
},
computed: {},
method: {}

三種路由鉤子中都涉及到了三個參數(shù),這里直接上官方介紹吧

  1. to: Route: 即將要進入的目標 路由對象
  2. from: Route: 當前導航正要離開的路由
  3. next: Function: 一定要調(diào)用該方法來 resolve 這個鉤子。執(zhí)行效果依賴 next 方法的調(diào)用參數(shù)。
  4. next(): 進行管道中的下一個鉤子。如果全部鉤子執(zhí)行完了,則導航的狀態(tài)就是 confirmed (確認的)。
  5. next(false): 中斷當前的導航。如果瀏覽器的 URL 改變了(可能是用戶手動或者瀏覽器后退按鈕),那么 URL 地址會重置到 from 路由對應的地址。
  6. next(‘/') 或者 next({ path: ‘/' }): 跳轉到一個不同的地址。當前的導航被中斷,然后進行一個新的導航。

模式和鉤子基本就到這了,有需要的可以在仔細研究一個官當?shù)奈臋n。以上僅是個人學習使用過程的一些理解,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • el-select自定義指令實現(xiàn)觸底加載分頁請求options數(shù)據(jù)(完整代碼和接口可直接用)

    el-select自定義指令實現(xiàn)觸底加載分頁請求options數(shù)據(jù)(完整代碼和接口可直接用)

    某些情況下,下拉框需要做觸底加載,發(fā)請求,獲取option的數(shù)據(jù),下面給大家分享el-select自定義指令實現(xiàn)觸底加載分頁請求options數(shù)據(jù)(附上完整代碼和接口可直接用),感興趣的朋友參考下吧
    2024-02-02
  • Vue實現(xiàn)關聯(lián)頁面多級跳轉(頁面下鉆)功能的完整實例

    Vue實現(xiàn)關聯(lián)頁面多級跳轉(頁面下鉆)功能的完整實例

    這篇文章主要給大家介紹了關于Vue實現(xiàn)關聯(lián)頁面多級跳轉(頁面下鉆)功能的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-03-03
  • vue中通過iframe方式加載本地的vue頁面的解決方法

    vue中通過iframe方式加載本地的vue頁面的解決方法

    這篇文章主要給大家介紹了在vue中如何通過iframe方式加載本地的vue頁面的解決方法,文中有詳細的解決流程,需要的朋友可以參考下
    2023-06-06
  • vue中使用@change的方法

    vue中使用@change的方法

    @change 是 Vue.js 中用于監(jiān)聽表單元素值變化的事件處理器,很多組件有@change事件,那到底如何獲取到當前的參數(shù)呢?本文給大家詳細講解,感興趣的朋友一起看看吧
    2023-11-11
  • Vue中watch監(jiān)聽首次不生效的解決辦法

    Vue中watch監(jiān)聽首次不生效的解決辦法

    在 Vue 中,watch 屬性用于觀察和響應 Vue 實例上數(shù)據(jù)的變動,然而,默認情況下,watch 確實不會觸發(fā)組件創(chuàng)建時的變動,這里有幾種方式可以處理或繞過這個問題,需要的朋友可以參考下
    2024-09-09
  • 5個實用的Vue技巧分享

    5個實用的Vue技巧分享

    在這篇文章中,我們將探討五個實用的?Vue?技巧,這些技巧可以使你日常使用?Vue?編程更高效、更富有成效,感興趣的小伙伴可以跟隨小編一起學習一下
    2023-08-08
  • 詳解vue中組件參數(shù)

    詳解vue中組件參數(shù)

    這篇文章主要介紹了vue中組件參數(shù),本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-07-07
  • vue select選擇框數(shù)據(jù)變化監(jiān)聽方法

    vue select選擇框數(shù)據(jù)變化監(jiān)聽方法

    今天小編就為大家分享一篇vue select選擇框數(shù)據(jù)變化監(jiān)聽方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-08-08
  • Vue3新特性之在Composition API中使用CSS Modules

    Vue3新特性之在Composition API中使用CSS Modules

    這篇文章主要介紹了Vue3新特性之在Composition API中使用CSS Modules,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-07-07
  • Vue打印錯誤日志問題

    Vue打印錯誤日志問題

    這篇文章主要介紹了Vue打印錯誤日志問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-10-10

最新評論