vue3在App.vue写的全局组件让指定页面不显示

简介: vue3在App.vue写的全局组件让指定页面不显示

可以使用 Vue Router 的导航守卫功能实现该需求,具体实现步骤如下:

  1. 在 Router 实例中定义一个全局的 beforeEach 导航守卫,用于判断当前路由是否需要隐藏某个全局组件:
import { createRouter, createWebHistory } from 'vue-router';
const router = createRouter({
  history: createWebHistory(),
  routes: [
    // 路由配置
  ],
});
// 全局导航守卫
router.beforeEach((to, from, next) => {
  if (to.meta.hideComponent) { // 判断是否需要隐藏组件
    to.meta.hideComponent.hide = true;
  } else {
    next();
  }
});
  1. 2.在需要隐藏全局组件的页面路由中添加 meta 属性,用于指示需要隐藏的组件,并将组件的 hide 属性初始值设置为 false
const routes = [
  {
    path: '/some-page',
    component: SomePage,
    meta: {
      hideComponent: { // 指示需要隐藏的组件
        component: GlobalComponent,
        hide: false, // 初始为 false
      },
    },
  },
];
  1. 3.在全局组件中绑定 hide 属性,判断是否需要隐藏组件:
<template>
  <div v-if="!hide">
    <!-- 组件内容 -->
  </div>
</template>
<script>
export default {
  props: ['hide'],
};
</script>
相关文章
|
2天前
|
JavaScript 前端开发 UED
Vue class和style绑定:动态美化你的组件
Vue class和style绑定:动态美化你的组件
|
2天前
|
JavaScript
vue封装面包屑组件
vue封装面包屑组件
7 0
|
2天前
|
JavaScript 数据库
ant design vue日期组件怎么清空 取消默认当天日期
ant design vue日期组件怎么清空 取消默认当天日期
|
2天前
|
JavaScript C++
vue高亮显示组件--转载
vue高亮显示组件--转载
8 0
|
2天前
|
JavaScript 前端开发 API
深入理解vue组件生命周期,你一定要看到最后,最后有深入探讨
深入理解vue组件生命周期,你一定要看到最后,最后有深入探讨
|
2天前
|
JavaScript Go
VUE3+vite项目中动态引入组件和异步组件
VUE3+vite项目中动态引入组件和异步组件
|
2天前
|
前端开发 JavaScript 安全
如何给页面元素添加水印背景,在vue中怎么处理?
如何给页面元素添加水印背景,在vue中怎么处理?
|
2天前
|
缓存 算法 JavaScript
vue中组件保活<keep-alive>的使用
vue中组件保活<keep-alive>的使用
|
2天前
|
JavaScript 前端开发 UED
教你用vue自定义指令做一个组件的遮罩层loading效果
教你用vue自定义指令做一个组件的遮罩层loading效果
|
2天前
|
JavaScript 数据可视化 UED
用Vue搭建一个大屏数据可视化页面实战二(Vue实战系列)
用Vue搭建一个大屏数据可视化页面实战二(Vue实战系列)