vue元件級鑑權

猝死的路上發表於2024-05-16

Authority.vue

<template>
  <slot v-if="roles.includes(auth)"></slot>
</template>

<script setup>
import { useRoles } from '../store'

//接收傳遞的許可權字串,admin,user,guest
defineProps(['auth'])

//從倉庫中取使用者許可權集合
const roles = useRoles()
</script>

使用

<Authority>
  <HellWord v-auth="admin"></HellWord>
</Authority>

元件級別鑑權好處是,如果當前許可權不足,元件不會渲染,不會走元件的生命週期
如果某個元件需要鑑權,而且在生命週期中會有很多的網路請求,則可以使用元件級鑑權

相關文章