vue3 + ts + vite,自定义指令,使用权限全局控制按钮显示隐藏

1. 创建自定义指令

index.ts 文件中创建自定义指令。这个指令将根据用户权限控制按钮的显示和隐藏。

import { Directive } from 'vue';

const hasPermissionDirective: Directive = {
  mounted(el, binding) {
    const userPermissions: string[] = ['edit', 'delete', 'edit1']; // 模拟用户权限

    const permission = binding.value as string;
    if (!userPermissions.includes(permission)) {
      el.style.display = 'none';
    }
  },
};

export default hasPermissionDirective;

2. 在 main.ts 中全局注册指令

main.ts 文件中全局注册自定义指令。

import { createApp } from 'vue';
import App from './App.vue';
import hasPermissionDirective from './index.ts';

const app = createApp(App);

app.directive('hasPermi', hasPermissionDirective);

app.mount('#app');

3. 在其他页面使用指令

在其他页面的模板中,使用 v-hasPermi 指令来控制按钮的显示和隐藏。例如:

<template>
  <button v-hasPermi="'edit1'">Edit</button>
</template>

相关推荐

  1. Vue3定义全局指令

    2024-03-29 10:18:02       45 阅读
  2. vue定义指令配置小程序按钮权限

    2024-03-29 10:18:02       62 阅读
  3. Vue3定义指令与Composition API实现动态权限控制

    2024-03-29 10:18:02       62 阅读
  4. Vue3全局组件和定义指令

    2024-03-29 10:18:02       64 阅读
  5. 记录使用vue3定义指令

    2024-03-29 10:18:02       35 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-29 10:18:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-29 10:18:02       100 阅读
  3. 在Django里面运行非项目文件

    2024-03-29 10:18:02       82 阅读
  4. Python语言-面向对象

    2024-03-29 10:18:02       91 阅读

热门阅读

  1. uniapp获取当前位置?

    2024-03-29 10:18:02       42 阅读
  2. 基于Mac M1[ARM64]环境下Docker部署大数据集群

    2024-03-29 10:18:02       37 阅读
  3. React.FC

    2024-03-29 10:18:02       37 阅读
  4. C语音的算法和数据结构

    2024-03-29 10:18:02       39 阅读
  5. SpringBoot单元测试剖析

    2024-03-29 10:18:02       43 阅读
  6. 虚幻C++

    2024-03-29 10:18:02       40 阅读
  7. uniapp页面怎么传参?

    2024-03-29 10:18:02       39 阅读