欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

vue3使用vue-router及路由權(quán)限攔截方式

 更新時間:2022年04月18日 08:56:51   作者:cookcyq  
這篇文章主要介紹了vue3使用vue-router及路由權(quán)限攔截方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

使用vue-router及路由權(quán)限攔截

vue3 使用 vue-router 的方式和 vue2 基本一樣,只不過初始化路由時需要用到一些函數(shù)來定義而已,另外 vue-cli 工具本身在創(chuàng)建 vue3 項目時就可以根據(jù)提示來進(jìn)行安裝配置 vue-router , 所以本篇只是針對那些忘記安裝的小伙伴。

第一步肯定是要先安裝啦:

npm install vue-router@4

接著我們在根目錄 src 下創(chuàng)建 router 目錄并定義 index.js

下面是 src/router/index.js 的代碼 

// 1. 引入這兩個函數(shù)來初始化路由
import { createRouter, createWebHashHistory } from "vue-router"
// 2. 配置路由
const routes = [
  {
    path: '/info',
    name: 'info',
    component: () => import('@/pages/info'),
    // 路由元信息,隨你怎么定義,筆者一般采用這種方式來定義路由權(quán)限然后結(jié)合路由攔截,
    // 下面的 auth:true 表示需要授權(quán)登錄才可以進(jìn)入此頁面。
    meta: {       
      auth: true,
    },
  },
  {
    path: '/login',
    name: 'login',
    component: () => import('@/pages/login'),
    meta: {
      auth: false,
    },
  }
]
// 3. 創(chuàng)建路由實例
const router = createRouter({
  history: createWebHashHistory(), // 表示使用 hash 模式,即 url 會有 # 前綴
  routes
})
// 4. 你還可以監(jiān)聽路由攔截,比如權(quán)限驗證。
router.beforeEach((to, from, next) => {
  // 1. 每個條件執(zhí)行后都要跟上 next() 或 使用路由跳轉(zhuǎn) api 否則頁面就會停留一動不動
  // 2. 要合理的搭配條件語句,避免出現(xiàn)路由死循環(huán)。
  const token = cookies.get('token')
  if (to.meta.auth) {
  	if (!token) {
  		return router.replace({
	      name: 'login'
	    })
  	}
  	next()
  } else {
    next()
  }
})
export default router

接下來在項目的入口文件 main.js 里面引入 router/index.js

// main.js
import { createApp } from 'vue'
import router from '@/router/index.js' // 引入
import App from '@/App.vue'
const app = createApp(App)
app
.use(router)
.mount('#app')
export default app

至此就完成啦 

vue3使用vue-router講解

cnpm i vue-router@next -D

創(chuàng)建Router對象和路由配置——routerIndex.js

import {createRouter, createWebHashHistory, createWebHistory} from "vue-router"
// 1. 定義路由組件, 注意,這里一定要使用 文件的全名(包含文件后綴名)
import countIndex from "../pages/count/countIndex.vue";
import langshanIndex from "../pages/langshan/langshanIndex.vue";
// 2. 定義路由配置
const routes = [
  { 
    path: "/",
    redirect: '/countIndex'
  },
  { path: "/countIndex", component: countIndex },
  { path: "/langshanIndex", component: langshanIndex },
 
];
// 3. 創(chuàng)建路由實例
const router = createRouter({
  // 4. 采用hash 模式
  history: createWebHashHistory(),
  // 采用 history 模式
  // history: createWebHistory(),
  routes, //使用上方定義的路由配置
});
export default router 
//導(dǎo)出router

Router 當(dāng)做插件引用進(jìn)來——main.js

import { createApp } from 'vue'
import routerIndex from './router/routerIndex' ?// 引入路由對象實例
import App from './App.vue'
const app = createApp(App)
// 使用配置的路由
app.use(routerIndex)
app.mount('#app')

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。 

相關(guān)文章

  • 如何利用vue+element?ui實現(xiàn)好看的登錄界面

    如何利用vue+element?ui實現(xiàn)好看的登錄界面

    最近做了個最基礎(chǔ)的ElementUI登錄頁,適合新手查看,所以下面這篇文章主要給大家介紹了關(guān)于如何利用vue+element?ui實現(xiàn)好看的登錄界面的相關(guān)資料,需要的朋友可以參考下
    2022-05-05
  • Vue使用echarts可視化組件的方法

    Vue使用echarts可視化組件的方法

    這篇文章主要介紹了Vue使用echarts可視化組件的方法,本文通過實例代碼案例給大家詳細(xì)介紹,需要的朋友可以參考下
    2021-07-07
  • Vue TypeScript使用eval函數(shù)遇到的問題

    Vue TypeScript使用eval函數(shù)遇到的問題

    近幾年前端對 TypeScript的呼聲越來越高,Typescript也成為了前端必備的技能。TypeScript是JS類型的超集,并支持了泛型、類型、命名空間、枚舉等特性,彌補(bǔ)了 JS 在大型應(yīng)用開發(fā)中的不足
    2023-01-01
  • 分分鐘玩轉(zhuǎn)Vue.js組件(二)

    分分鐘玩轉(zhuǎn)Vue.js組件(二)

    這篇文章教大家如何分分鐘玩轉(zhuǎn)Vue.js組件,完善了vue.js組件的學(xué)習(xí)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-03-03
  • 詳解vue+css3做交互特效的方法

    詳解vue+css3做交互特效的方法

    本篇文章主要介紹了詳解vue+css3做交互特效的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-11-11
  • Vue自定義復(fù)制指令 v-copy功能的實現(xiàn)

    Vue自定義復(fù)制指令 v-copy功能的實現(xiàn)

    這篇文章主要介紹了Vue自定義復(fù)制指令 v-copy,使用自定義指令創(chuàng)建一個點擊復(fù)制文本功能,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-01-01
  • VueX如何實現(xiàn)數(shù)據(jù)共享

    VueX如何實現(xiàn)數(shù)據(jù)共享

    這篇文章主要介紹了VueX如何實現(xiàn)數(shù)據(jù)共享問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-08-08
  • 詳解Vuex中mapState的具體用法

    詳解Vuex中mapState的具體用法

    本篇文章主要介紹了詳解Vuex中mapState的具體用法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-09-09
  • Vue樹表格分頁的實現(xiàn)方法詳解

    Vue樹表格分頁的實現(xiàn)方法詳解

    這篇文章主要介紹了Vue樹表格分頁的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧
    2022-10-10
  • Vue 按鈕居中、按鈕居左、按鈕居右的實現(xiàn)代碼

    Vue 按鈕居中、按鈕居左、按鈕居右的實現(xiàn)代碼

    在 Vue 中,如果需要將按鈕居中顯示,可以使用 CSS 中的 `text-align: center` 屬性來實現(xiàn),本文通過實例代碼給大家介紹Vue 按鈕居中、按鈕居左、按鈕居右的實現(xiàn)代碼,感興趣的朋友一起看看吧
    2023-10-10

最新評論