业务场景: 根据路由传递的标志eg: hidden来控制侧边栏和横条显示或隐藏
核心代码:
| <a-layout-header class="header" v-if="!(parseInt(hidden) === 1 ? true : false)"> |
| <layout-header/> |
| </a-layout-header> |
主要业务代码
Vuex(Store)中设置hidden存储控制标志位
| const user = { |
| namespaced: true, |
| state: { |
| |
| userInfo: {}, |
| |
| subjects: {}, |
| |
| topic: [], |
| |
| hidden: 0, |
| }, |
| mutations: { |
| |
| setHidden(state, data) { |
| console.log('state.hidden', state.hidden) |
| state.hidden = data; |
| }, |
| } |
路由全局守卫存储标志
| import {permission} from './permission' |
| import {constantRoutesMap} from './router' |
| import {createRouter, createWebHashHistory} from 'vue-router' |
| |
| import store from "@/store/index"; |
| |
| |
| const router = createRouter({ |
| |
| history: createWebHashHistory(''), |
| routes: constantRoutesMap |
| }) |
| |
| router.beforeEach(function (to, from, next) { |
| |
| |
| let hidden = to.query.hidden; |
| if (!(parseInt(store.state.user.hidden) === 1)) { |
| store.commit("user/setHidden", hidden); |
| } |
| next() |
| }) |
| |
| permission(router) |
| |
| export default router |
| |
使用隐藏或显示标志位
| const store = useStore() |
| const collapsed = ref(false) |
| const route = useRoute(); |
| |
| const hidden = ref(1); |
| hidden.value = store.state.user.hidden; |
| if (hidden.value === undefined || hidden.value === '') { |
| hidden.value = 3; |
| } |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具