Vue3封裝全局自定義指令實現(xiàn)按鈕權限控制功能實例
更新時間:2025年07月10日 10:28:09 作者:小碼龍~
在Vue應用中自定義指令是一種強大的功能,可以用于封裝DOM操作邏輯,這篇文章主要介紹了Vue3封裝全局自定義指令實現(xiàn)按鈕權限控制功能的相關資料,需要的朋友可以參考下
一、什么是按鈕權限控制
概念:根據當前用戶的權限數據控制按鈕的顯示和隱藏
二、思路 (往往是后端返回的權限標識)
后端返回的權限數據模擬
// 模擬權限mock數據 const permissions = [ "park:bulidng:add", "park:bulidng:del", "park:bulidng:edit", ]
思路:每一個需要做權限控制的按鈕都有一個自己獨有的 標識 , 如果標識可以在權限數據列表中找到,則顯示,找不到就隱藏
三、實現(xiàn)
按鈕綁定上v-my-point自定義全局指令
代碼如下(示例):
<div class="container"> <el-button v-my-point="'bulidng:add'" type="success">添加</el-button> <el-button v-my-point="'bulidng:del'" type="primary">編輯</el-button> <el-button v-my-point="'bulidng:edit'" type="danger">刪除</el-button> </div>
main.ts注冊為全局指令
// 自定義按鈕權限directive const myPointDirective:Directive<HTMLElement,string> = (el,binding) => { if (!permissions.includes(user + ":" + binding.value)) { el.style.display = 'none' } } // 全局注冊指令 app.directive('my-point', myPointDirective);
效果:
后端返回的權限數據沒有,則上面按鈕就不會顯示
總結
這樣就實現(xiàn)了通過全局自定義指令來實現(xiàn)按鈕權限的控制了。
到此這篇關于Vue3封裝全局自定義指令實現(xiàn)按鈕權限控制功能的文章就介紹到這了,更多相關Vue3自定義指令按鈕權限控制內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
快速解決Error: error:0308010C:digital envelope ro
因為 node.js V17版本中最近發(fā)布的OpenSSL3.0, 而OpenSSL3.0對允許算法和密鑰大小增加了嚴格的限制,下面通過本文給大家分享快速解決Error: error:0308010C:digital envelope routines::unsupported的三種解決方案,感興趣的朋友一起看看吧2024-02-02Vue中狀態(tài)管理器(vuex)詳解以及實際應用場景
Vuex是一個專為Vue.js應用程序開發(fā)的狀態(tài)管理模式,下面這篇文章主要給大家介紹了關于Vue中狀態(tài)管理器(vuex)詳解以及實際應用場景的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下2022-11-11