最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Vue3使用Vue Router實(shí)現(xiàn)前端路由控制

 更新時(shí)間:2024年10月16日 09:56:07   作者:前進(jìn)的胖子  
在現(xiàn)代Web應(yīng)用中,前端路由控制是非常重要的一部分,它可以幫助我們將不同的頁(yè)面內(nèi)容展示給用戶(hù),同時(shí)保持用戶(hù)在瀏覽不同頁(yè)面時(shí)的連貫性,本文將介紹如何使用Vue Router來(lái)實(shí)現(xiàn)前端路由控制,需要的朋友可以參考下

Vue3 使用 Vue Router實(shí)現(xiàn)前端路由控制

首先,我們需要安裝Vue Router。在項(xiàng)目根目錄下運(yùn)行以下命令:

npm install vue-router@next

安裝完成后,我們可以開(kāi)始編寫(xiě)代碼了。首先,我們需要導(dǎo)入createRoutercreateWebHistory函數(shù),以及我們自定義的視圖組件。

import HomeView from '../views/HomeView.vue'
import AdminView from '@/views/AdminView.vue'
import AboutView from '../views/AboutView.vue'
import ChildenList from '@/views/childenList.vue'

接下來(lái),我們需要?jiǎng)?chuàng)建一個(gè)路由實(shí)例,并配置我們的路由規(guī)則。在這個(gè)例子中,我們有三個(gè)主頁(yè)面:首頁(yè)(HomeView)、關(guān)于頁(yè)面(AboutView)和管理員頁(yè)面(AdminView)。我們還定義了一個(gè)子路由(ChildenList),用于顯示關(guān)于頁(yè)面下的子頁(yè)面。

const router = createRouter({
  history: createWebHistory(import.meta.env.BASE_URL),
  routes: [
    {
      path: '/',
      name: 'home',
      component: HomeView
    },
    {
      path: '/about',
      name: 'about',
      children: [  
        {  
          path: 'ChildenList',  
          name: 'ChildenList',  
          component: ChildenList,  
          meta: { requiresAuth: true, role: 'admin' }
        }],
      //  component:AboutView,
    },
    {
      path: '/admin',
      name: 'admin',
      component:AdminView,
      meta: { requiresAuth: true, role: 'admin' }
    }
  ]

為了實(shí)現(xiàn)權(quán)限控制,我們需要在路由守衛(wèi)中添加一些邏輯。在每個(gè)路由規(guī)則中,我們可以添加一個(gè)meta屬性來(lái)指定該路由是否需要認(rèn)證以及對(duì)應(yīng)的角色。在這個(gè)例子中,我們?yōu)?code>/about和/admin路由設(shè)置了requiresAuthrole屬性

router.beforeEach((to, from, next) => {
  const user = "name" // 假設(shè)這是從localStorage獲取用戶(hù)信息的函數(shù)
  if (to.matched.some(record => record.meta.requiresAuth)) {
    // 這個(gè)路由需要權(quán)限
    if (!user || (to.meta.role && user !== to.meta.role)) {
      // 用戶(hù)未登錄或者角色不匹配
      next({ path: '/about'}) // 重定向到登錄頁(yè)面
    } else {
      // 用戶(hù)已登錄且角色匹配
      next()
    }
  } else {
    // 這個(gè)路由不需要權(quán)限
    next()
  }
})

最后將router導(dǎo)出

export default router

在main.js/main.ts引入

最后掛載routerView用于動(dòng)態(tài)渲染與當(dāng)前活躍路由匹配的組件

到此這篇關(guān)于Vue3使用Vue Router實(shí)現(xiàn)前端路由控制的文章就介紹到這了,更多相關(guān)Vue3 Vue Router路由控制內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • vue中的provide/inject的學(xué)習(xí)使用

    vue中的provide/inject的學(xué)習(xí)使用

    本篇文章主要介紹了vue中的provide/inject的學(xué)習(xí)使用,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-05-05
  • Vue實(shí)現(xiàn)多圖添加顯示和刪除

    Vue實(shí)現(xiàn)多圖添加顯示和刪除

    這篇文章主要為大家詳細(xì)介紹了Vue實(shí)現(xiàn)多圖添加顯示和刪除,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-05-05
  • vue3使用深度選擇器修改樣式問(wèn)題

    vue3使用深度選擇器修改樣式問(wèn)題

    這篇文章主要介紹了vue3使用深度選擇器修改樣式問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-10-10
  • Vue3 diff算法的簡(jiǎn)單解刨

    Vue3 diff算法的簡(jiǎn)單解刨

    如今Vue3的勢(shì)頭正盛,在diff算法方面也做了相應(yīng)的變化,利用到了最長(zhǎng)遞增子序列把性能又提升了一個(gè)檔次。本文就來(lái)帶大家簡(jiǎn)單解刨一下Vue3中的diff算法
    2023-02-02
  • Vue移動(dòng)端項(xiàng)目實(shí)現(xiàn)使用手機(jī)預(yù)覽調(diào)試操作

    Vue移動(dòng)端項(xiàng)目實(shí)現(xiàn)使用手機(jī)預(yù)覽調(diào)試操作

    這篇文章主要介紹了Vue移動(dòng)端項(xiàng)目實(shí)現(xiàn)使用手機(jī)預(yù)覽調(diào)試操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-07-07
  • Vue實(shí)現(xiàn)一個(gè)動(dòng)態(tài)添加行的表格步驟詳解

    Vue實(shí)現(xiàn)一個(gè)動(dòng)態(tài)添加行的表格步驟詳解

    在Vue組件中定義表格的數(shù)據(jù)模型,通常使用一個(gè)數(shù)組來(lái)存儲(chǔ)表格的數(shù)據(jù),每一行數(shù)據(jù)可以是一個(gè)對(duì)象,對(duì)象的屬性對(duì)應(yīng)表格的列,這篇文章主要介紹了Vue實(shí)現(xiàn)一個(gè)動(dòng)態(tài)添加行的表格步驟詳解,需要的朋友可以參考下
    2024-05-05
  • 關(guān)于Element-ui中Table表格無(wú)法顯示的問(wèn)題及解決

    關(guān)于Element-ui中Table表格無(wú)法顯示的問(wèn)題及解決

    這篇文章主要介紹了關(guān)于Element-ui中Table表格無(wú)法顯示的問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • vue如何自定義按鈕單選和多選

    vue如何自定義按鈕單選和多選

    這篇文章主要介紹了vue如何自定義按鈕單選和多選問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • nuxt 實(shí)現(xiàn)在其它js文件中使用store的方式

    nuxt 實(shí)現(xiàn)在其它js文件中使用store的方式

    這篇文章主要介紹了nuxt 實(shí)現(xiàn)在其它js文件中使用store的方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-11-11
  • 解決element-ui?el-drawer抽屜el-dialog彈框關(guān)閉優(yōu)化demo

    解決element-ui?el-drawer抽屜el-dialog彈框關(guān)閉優(yōu)化demo

    這篇文章主要為大家介紹了解決element-ui?el-drawer抽屜el-dialog彈框關(guān)閉優(yōu)化demo,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪<BR>
    2023-06-06

最新評(píng)論

耒阳市| 孟连| 宽甸| 昌宁县| 永嘉县| 苏尼特右旗| 稻城县| 个旧市| 牟定县| 临朐县| 丰城市| 额敏县| 松潘县| 禹州市| 湖南省| 邵阳县| 安吉县| 寻甸| 万盛区| 宣城市| 合作市| 莆田市| 莲花县| 平安县| 徐汇区| 通城县| 永和县| 十堰市| 平凉市| 若尔盖县| 英山县| 建始县| 沧州市| 华亭县| 衡阳市| 花垣县| 保康县| 阿城市| 肃宁县| 曲松县| 贡觉县|