国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Vue2 第二十節(jié) vue-router (四)

這篇具有很好參考價值的文章主要介紹了Vue2 第二十節(jié) vue-router (四)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

1.全局前置路由和后置路由

2.獨享路由守衛(wèi)

3.組件內(nèi)路由守衛(wèi)

4.路由器的兩種工作模式

路由

作用:對路由進行權限控制

分類:全局守衛(wèi),獨享守衛(wèi),組件內(nèi)守衛(wèi)

一.全局前置路由和后置路由

① 前置路由守衛(wèi):每次路由切換之前被調(diào)用或者初始化的時候被調(diào)用

?next() : 繼續(xù)執(zhí)行

router.beforeEach((to, from, next) => {
  console.log('前置路由守衛(wèi)', to, from, next)
  if (to.meta.isAuth) {
    if (localStorage.getItem('school') === 'atguigu') {
      next()
    } else {
      alert('學校名錯誤')
    }
  } else {
    next()
  }
})

meta是路由元信息,是路由器提供給我們放數(shù)據(jù)的一個容器

Vue2 第二十節(jié) vue-router (四),Vue,前端學習,vue.js,前端

?② 后置路由守衛(wèi): 每次路由切換之后被調(diào)用或者初始化的時候被調(diào)用

router.afterEach((to, from) => {
  document.title = to.meta.title || "硅谷系統(tǒng)"
  console.log('后置路由守衛(wèi)', to, from)
})

?代碼匯總

// 該文件專門用于創(chuàng)建整個應用的路由器
import VueRouter from "vue-router"
import About from '../pages/About'
import Home from '../pages/Home'
import News from '../pages/News'
import Message from '../pages/Message'
import Detail from '../pages/Detail'
const router = new VueRouter({
  routes: [
    {
      name: 'guanyu',
      path: '/about',
      component: About,
      meta: { title: '關于' }
      // 是否授權
    },
    {
      name: 'zhuye',
      path: '/home',
      component: Home,
      meta: { title: '主頁' },
      children: [
        {
          // 不要加/
          name: 'xinwen',
          path: 'news',
          component: News,
          meta: { isAuth: true, title: '新聞' }
        },
        {
          // 不要加/
          name: 'xiaoxi',
          path: 'message',
          component: Message,
          meta: { isAuth: true, title: '消息' },
          children: [
            {
              name: 'xiangqing',
              path: 'detail', // 使用占位符聲明并接收
              component: Detail,
              meta: { isAuth: true, title: '詳情' },
              // 第一種寫法:值為對象,該對象中的所有key-value都會以props形式傳給Detail組件
              // 數(shù)據(jù)是寫死的
              // props: { a: 1, b: 'hello' }
              // 第二種寫法:值為bool值,如果bool值為真,就會把該路由組件收到的所有params參數(shù),以props的形式
              // 傳給Detail組件
              // props: true

              // 第三種寫法,值為函數(shù)
              props ($route) {
                return {
                  id: $route.query.id,
                  title: $route.query.title
                }
              }
            }
          ]
        }
      ]
    }
  ]
})
// 全局前置路由守衛(wèi) --每次路由切換之前被調(diào)用或者初始化的時候被調(diào)用
router.beforeEach((to, from, next) => {
  console.log('前置路由守衛(wèi)', to, from, next)
  if (to.meta.isAuth) {
    if (localStorage.getItem('school') === 'atguigu') {
      next()
    } else {
      alert('學校名錯誤')
    }
  } else {
    next()
  }
})
// 全局后置路由守衛(wèi) --每次路由切換之后被調(diào)用或者初始化的時候被調(diào)用
router.afterEach((to, from) => {
  document.title = to.meta.title || "硅谷系統(tǒng)"
  console.log('后置路由守衛(wèi)', to, from)
})
export default router

二.獨享路由守衛(wèi)

獨享路由守衛(wèi):某個路由獨享的,只有前置,沒有后置

Vue2 第二十節(jié) vue-router (四),Vue,前端學習,vue.js,前端

?三. 組件內(nèi)路由守衛(wèi)

?分為進入守衛(wèi)和離開守衛(wèi)

進入守衛(wèi):通過路由規(guī)則,進入該組件時被調(diào)用

離開守衛(wèi):通過路由規(guī)則,離開該組件時被調(diào)用

export default {
  name: 'About',
  // 組件內(nèi)守衛(wèi)(進入守衛(wèi)) 通過路由規(guī)則,進入該組件時被調(diào)用
  beforeRouteEnter (to, from, next) {
    console.log('beforeRouteEnter', to, from, next)
    if (to.meta.isAuth) {
      if (localStorage.getItem('school') === 'atguigu') {
        next()
      } else {
        alert('學校名錯誤')
      }
    } else {
      next()
    }
  },
  // 離開守衛(wèi):通過路由規(guī)則,離開該組件時被調(diào)用
  beforeRouteLeave (to, from, next) {
    console.log('beforeRouteLeave')
    next()
  }
}

四.路由器的兩種工作模式

① 對于url來說,#及其后面的內(nèi)容就是hash值,hash值不會包含在HTTP請求中,hash值不會帶給服務器

②? 兩種工作模式

(1)history

  • 地址干凈,美觀,路徑中沒有#
  • 兼容性和hash模式相比較差
  • 應用部署上線的時候需要后端人員支持,解決刷新頁面服務端404的問題

(2)hash:

  • 路徑中有#,不美觀
  • 若以后地址通過第三方手機app分享,若app校驗嚴格,地址會標記為不合法
  • 兼容性比較好

③ 使用mode配置項進行配置

Vue2 第二十節(jié) vue-router (四),Vue,前端學習,vue.js,前端文章來源地址http://www.zghlxwxcb.cn/news/detail-633522.html

到了這里,關于Vue2 第二十節(jié) vue-router (四)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內(nèi)容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 【vue3】13-前端路由-Vue-Router的詳解: 從入門到掌握

    【vue3】13-前端路由-Vue-Router的詳解: 從入門到掌握

    路由其實是網(wǎng)絡工程中的一個術語: 在 架構一個網(wǎng)絡 時,非常重要的兩個設備就是 路由器和交換機 。 當然,目前在我們生活中 路由器 也是越來越被大家所熟知,因為我們生活中都會用到 路由器 : 事實上, 路由器 主要維護的是一個 映射表 ; 映射表 會決定數(shù)據(jù)的流向; 路由

    2024年02月09日
    瀏覽(58)
  • 基于vscode開發(fā)vue3項目的詳細步驟教程 3 前端路由vue-router

    基于vscode開發(fā)vue3項目的詳細步驟教程 3 前端路由vue-router

    1、Vue下載安裝步驟的詳細教程(親測有效) 1_水w的博客-CSDN博客 2、Vue下載安裝步驟的詳細教程(親測有效) 2 安裝與創(chuàng)建默認項目_水w的博客-CSDN博客 3、基于vscode開發(fā)vue項目的詳細步驟教程_水w的博客-CSDN博客 4、基于vscode開發(fā)vue項目的詳細步驟教程 2 第三方圖標庫FontAwesome_水w的

    2024年02月02日
    瀏覽(53)
  • vue 3 第二十九章:路由管理(Vue Router4.x基礎知識)

    Vue Router 是 Vue.js 官方的 路由管理器 。它和 Vue.js 的 核心 深度集成,可以輕松地 構建單頁面應用程序 。Vue Router 允許我們在應用程序中 定義路由 ,然后根據(jù) URL 來 匹配路由 ,并 渲染對應的組件 。 Vue Router 的核心概念包括 路由 、 路由器 、 路由視圖 和 導航守衛(wèi) 。 路由

    2024年02月07日
    瀏覽(30)
  • Vue3+Vue-Router+Element-Plus根據(jù)后端數(shù)據(jù)實現(xiàn)前端動態(tài)路由——權限管理模塊

    Vue3+Vue-Router+Element-Plus根據(jù)后端數(shù)據(jù)實現(xiàn)前端動態(tài)路由——權限管理模塊

    提示:文章內(nèi)容仔細看一些,或者直接粘貼復制,效果滿滿 提示:文章大概 1、項目:前后端分離 2、前端:基于Vite創(chuàng)建的Vue3項目 3、后端:沒有,模擬的后端數(shù)據(jù) 4、關于路徑“@”符號——vite.config.js 文件里修改 提示:以下是本篇文章正文內(nèi)容,下面案例可供復制粘貼使用

    2024年02月02日
    瀏覽(123)
  • 【退役之重學前端】使用vite+vue3+vue-router,重構react+react-router前后端分離的商城后臺管理系統(tǒng)

    前言: 對前端各個技術板塊,HTML、CSS、JavaScript、ES6、vue家族,整體上能“摸其大概”。筆者計劃重構一個基于react的商城后臺管理系統(tǒng)。 —— 2024年2月16日 vue3 sass bootstrap ES7 前后端分離 分層架構 模塊化開發(fā) npm vite git

    2024年02月20日
    瀏覽(25)
  • Vue入門六(前端路由的概念與原理|Vue-router簡單使用|登錄跳轉案例|scoped樣式|混入(mixin)|插件)

    Vue入門六(前端路由的概念與原理|Vue-router簡單使用|登錄跳轉案例|scoped樣式|混入(mixin)|插件)

    路由(英文:router)就是對應關系 SPA指的是一個web網(wǎng)站只有一個唯一的一個HTML頁面, 所有組件的展示與切換 都在唯一的一個頁面內(nèi)完成。 此時, 不同組件之間的切換 需要通過 前端路由 來實現(xiàn) 總結:在SPA項目中, 不同功能之間的切換 ,要 依賴于前端路由 來完成 通俗移動

    2024年01月22日
    瀏覽(29)
  • vue-router3.x和vue-router4.x相互影響的問題記錄

    vue-router3.x和vue-router4.x相互影響的問題記錄

    項目中有一個系統(tǒng)使用的微前端,主站使用是 vue2 實現(xiàn)的,使用的是 vue-router3.x 。子應用有使用 vue3 實現(xiàn)的,使用的為 vue-router4.x 。 該子應用中的頁面A有通過操作按鈕觸發(fā)跳轉到其他子應用頁面B的需求,此時使用的是 vue-router4.x 的編程式導航API。 當通過點擊主站的Tab切換回

    2023年04月26日
    瀏覽(18)
  • 路由,vue-router的基本用法,vue-router的常見用法$route.params、$router.push、$router.replace、$router.go

    路由,vue-router的基本用法,vue-router的常見用法$route.params、$router.push、$router.replace、$router.go

    路由(英文: router)就是 對應關系 。 SPA指的是一個web網(wǎng)站只有唯一的一個HTML頁面, 所有組件的展示與切換 都在這唯一的一個頁面內(nèi)完成。此時, 不同組件之間的切換 需要通過 前端路由 來實現(xiàn)。 *結論:*在SPA項目中, 不同功能之間的切換 ,要 依賴于前端路由 來完成! 通俗

    2024年01月16日
    瀏覽(27)
  • 路由vue-router

    路由vue-router

    路由(英文:router)就是 對應關系 SPA 指的是一個 web 網(wǎng)站只有 唯一的一個 HTML 頁面 ,所有組件的展示與切換都在這唯一的一個頁面內(nèi)完成。 此時,不同組件之間的切換需要通過前端路由來實現(xiàn)。 結論: 在 SPA 項目中,不同功能之間的切換 ,要依賴于 前端路由 來完成!

    2024年02月07日
    瀏覽(25)
  • 【Vue-Router】別名

    【Vue-Router】別名

    后臺返回來的路徑名不合理,但多個項目在使用中了,不方便改時可以使用別名??梢杂卸鄠€或一個。 First.vue Second.vue , Third.vue 代碼同理 UserSettings.vue index.ts App.vue

    2024年02月12日
    瀏覽(22)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包