重生之我想写后端

Vue + Element Plus 简单的响应式侧边栏

利用onMounted,初次加载页面的时候,为页面注册一个监听器。 当 ‘resize’ 事件发生时, 触发函数。 此函数里监听窗口大小,当窗口小于 500px 时,改变 isCollpase boolean 值。 实现动态变化。

<template><el-menudefault-active="2"class="el-menu-vertical-demo":collapse="isCollapse"@open="handleOpen"@close="handleClose"><el-menu-item index="1"><el-icon><Edit /></el-icon><template #title>创建问卷</template></el-menu-item><el-menu-item index="2"><el-icon><Document /></el-icon><template #title>全部问卷</template></el-menu-item><el-menu-item index="3"><el-icon><Delete /></el-icon><template #title>回收站</template></el-menu-item><el-menu-item index="4"><el-icon><DataAnalysis /></el-icon><template #title>数据统计</template></el-menu-item></el-menu>
</template><script setup>
import { ref, onMounted, onUnmounted, computed } from 'vue';
import {Document,DataAnalysis,Edit ,Delete
} from '@element-plus/icons-vue'const isCollapse = ref(true)
const handleOpen = (key , keyPath) => {console.log(key, keyPath)
}
const handleClose = (key, keyPath) => {console.log(key, keyPath)
}
// 动态计算宽度 当屏幕分辨率 =< 500px时候使用其他组件
const screenWidth = ref(window.innerWidth);
const handleResize = () => {screenWidth.value = window.innerWidth;isCollapse.value = screenWidth.value < 500;console.log(isCollapse.value);console.log(screenWidth.value);
};onMounted(() => {//动态计算宽,调用handleResize方法window.addEventListener('resize', handleResize);
});// 看网上说,避免内存泄漏
onUnmounted(()=>{window.removeEventListener('resize',handleResize);
})</script><style>
.el-menu-vertical-demo:not(.el-menu--collapse) {width: 200px;min-height: 400px;
}
</style>

点击侧边栏,主体区域跟着切换组件

看到网上有好几种实现方式,只用了最简单的一个。

利用 router-view

参考博客

<el-menu router > <el-menu-item index="/vote/all"><el-icon><Document /></el-icon><template #title>全部问卷</template></el-menu-item><el-menu-item index="/vote/trash"><el-icon><Delete /></el-icon><template #title>回收站</template></el-menu-item><el-menu-item index="/vote/analyse"><el-icon><DataAnalysis /></el-icon><template #title>数据统计</template></el-menu-item>
</el-menu><router-view> < /router-view>

利用Vue 组件实现

代码来自Vue官网

Vue 官网参考

在线运行代码

<script>
import Home from './Home.vue'
import Posts from './Posts.vue'
import Archive from './Archive.vue'export default {components: {Home,Posts,Archive},data() {return {currentTab: 'Home',tabs: ['Home', 'Posts', 'Archive']}}
}
</script><template><div class="demo"><buttonv-for="tab in tabs":key="tab":class="['tab-button', { active: currentTab === tab }]"@click="currentTab = tab">{{ tab }}</button><component :is="currentTab" class="tab"></component></div>
</template><style>
.demo {font-family: sans-serif;border: 1px solid #eee;border-radius: 2px;padding: 20px 30px;margin-top: 1em;margin-bottom: 40px;user-select: none;overflow-x: auto;
}.tab-button {padding: 6px 10px;border-top-left-radius: 3px;border-top-right-radius: 3px;border: 1px solid #ccc;cursor: pointer;background: #f0f0f0;margin-bottom: -1px;margin-right: -1px;
}
.tab-button:hover {background: #e0e0e0;
}
.tab-button.active {background: #e0e0e0;
}
.tab {border: 1px solid #ccc;padding: 10px;
}
</style>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/20404.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

利用元宇宙NFG+IPO线上营销,打造新商业模型

随着互联网技术的飞速发展&#xff0c;商业模式和创新方式层出不穷。特别是在移动电商和区块链技术的双重推动下&#xff0c;市场格局正在经历一场深刻的变革。然而&#xff0c;随着竞争加剧和监管收紧&#xff0c;如何构建一个既能吸引用户又能保持系统稳定的商业模型&#xf…

Chapter 5 Current Mirrors and Biasing Techniques

Chapter 5 Current Mirrors and Biasing Techniques 这一章介绍电流镜 5.1 Basic Current Mirrors MOS工作在饱和区, 表现为一个电流源. 考虑电源变化, PVT波动, 我们会首先产生一路精准电流源, 再复制这路电流. 如何复制呢? 电流转电压再转电流就行了, 如下图所示 考虑到…

Kivy.uix.textinput

一个小小的输入框&#xff0c;纵上下数页文档已不能全不概括&#xff0c;当去源码慢慢寻找&#xff0c;才知道其中作用&#xff0c;才能运用灵活。 Text Input — Kivy 2.3.0 documentation # -*- encoding: utf-8 -*-Text Input .. versionadded:: 1.0.4.. image:: images/te…

windows安装nodeJs,以及常用操作

1. 官网(Node.js — Run JavaScript Everywhere (nodejs.org))下载想要安装的node版本 的安装包完成安装 2.环境变量设置&#xff1a; 系统变量&#xff1a; Path新增&#xff1a;D:\Program Files\nodejs (node安装目录) 3.设置淘宝源&#xff1a; npm config set registr…

传感器和变送器的区别介绍

从它的名称来看&#xff0c;传与感二字。传是指传输&#xff0c;感是指感知。实际上是先有感知&#xff0c;其次转换&#xff0c;最后传输。因此传输是目的&#xff0c;转换是手段&#xff0c;感知是基础。把能够将被测变量&#xff08;温度、压力、液位、流量&#xff09;感知…

Python操作系统交互的15个实用命令

对于Python初学者而言&#xff0c;掌握如何使用Python与操作系统进行交互是一项非常实用的技能。这不仅能够让你的脚本更加灵活强大&#xff0c;还能在自动化任务处理、文件管理等方面大显身手。下面&#xff0c;我们将通过10个简单到复杂的实例&#xff0c;逐步引导你学习如何…

港湾周评|李小加“刀刃向内”裁员

《港湾商业观察》李镭 近年来争议颇大的滴灌通风波不断。 在交100万付费上班不久&#xff0c;最新又被曝出裁员。这位前港交所总裁、金融圈鼎鼎大名的李小加&#xff0c;没想到成立不足三年便迎来了重大挑战。 日前&#xff0c;滴灌通确认了公司组织架构已经调整&#xff0c…

Flutter 中的 SliderTheme 小部件:全面指南

Flutter 中的 SliderTheme 小部件&#xff1a;全面指南 Flutter 是一个创新的 UI 工具包&#xff0c;它允许开发者通过 Dart 语言来创建美观、高效的移动和 Web 应用。在 Flutter 的交互组件中&#xff0c;滑块&#xff08;Slider&#xff09;是一种常用的控件&#xff0c;用于…

【教程】如何实现WordPress网站降级(用于解决插件和主题问题)

在最新可用版本上运行WordPress安装、插件和主题是使用该平台的关键最佳实践。还建议使用最新版本的PHP。但是,在某些情况下,这是不谨慎或不可能的。 如果您发现自己处于这种情况,您可能需要撤消更新并降级您的WordPress网站(或其中的一部分)。幸运的是,有一些方法可用于…

对已运行的kafka集群添加副本

在已经运行的kafka集群中&#xff08;业务主题已创建&#xff09;&#xff0c;如果一开始配置的默认副本是1&#xff0c;则后续再去修改配置文件为3&#xff0c;也只是针对后续新增的主题有效。原先主题不会生效。需要通过json文件去修改。 先创建__consumer_offsets主题的JSO…

深入浅出Java多线程

系列文章目录 文章目录 系列文章目录前言一、多线程基础概念介绍线程的状态转换图线程的调度一些常见问题 二、Java 中线程的常用方法介绍Java语言对线程的支持Thread常用的方法三、线程初体验&#xff08;编码示例&#xff09; 前言 前些天发现了一个巨牛的人工智能学习网站&…

【验证码识别】Yolov8入门到实战点选验证码数据集分类训练,孪生训练,导出onnx,搭建部署接口

【验证码识别】Yolov8入门到实战点选验证码数据集分类训练&#xff0c;孪生训练&#xff0c;导出onnx&#xff0c;搭建部署接口 文章目录 【验证码识别】Yolov8入门到实战点选验证码数据集分类训练&#xff0c;孪生训练&#xff0c;导出onnx&#xff0c;搭建部署接口声明一、标…

scButterfly:单细胞跨模态翻译

技术限制导致了高噪声的多模态数据。尽管已经提出了计算方法来跨模态翻译单细胞数据&#xff0c;但是这些方法的泛化性仍然受到制约。scButterfly是一种基于双重对齐变分自编码器和数据增强方案的多功能单细胞跨模态翻译方法。通过对多个数据集进行全面的实验&#xff0c;证明了…

工业安全智勇较量,赛宁网安工业靶场决胜工业网络攻防对抗新战场

2024年1月30日&#xff0c;工信部发布《工业控制系统网络安全防护指南》&#xff08;工信部网安〔2024〕14号&#xff09;&#xff0c;围绕安全管理、技术防护、安全运营、责任落实四方面提出安全防护要求&#xff0c;强调聚焦安全薄弱关键环节&#xff0c;强化技术应对策略&am…

关于磁盘管理

磁盘管理是操作系统提供的一项功能&#xff0c;用于高效地组织、维护和控制计算机的硬盘驱动器及其卷&#xff08;分区&#xff09;。通过磁盘管理工具&#xff0c;用户和管理员可以执行多种与存储相关的高级任务&#xff0c;主要包括&#xff1a; 初始化新磁盘&#xff1a; …

js前端怎么封装

js前端怎么封装 在JavaScript前端开发中&#xff0c;封装是一个至关重要的概念。通过封装&#xff0c;我们可以将复杂的逻辑和功能隐藏在简单的接口后面&#xff0c;提高代码的可读性、可维护性和复用性。那么&#xff0c;如何有效地在JavaScript前端进行封装呢&#xff1f;接…

Passion编程语言:探索其深邃的四个维度、五大特性、六大应用及七大前景

Passion编程语言&#xff1a;探索其深邃的四个维度、五大特性、六大应用及七大前景 在编程的浩瀚宇宙中&#xff0c;Passion编程语言如同一颗璀璨的新星&#xff0c;以其独特的魅力和深厚的内涵吸引着越来越多的探索者。本文将从四个方面、五个方面、六个方面和七个方面&#…

Caliburn.Micro框架学习笔记——窗体管理对象的基本使用

Caliburn.Micro 的窗口管理器&#xff08;Window Manager&#xff09;是一个强大的工具&#xff0c;用于管理 WPF 应用程序中的窗口和对话框。它简化了窗口的创建、显示和关闭等操作&#xff0c;使得视图和视图模型的交互更加直观和易于维护。 它能够实现的功能包括 显示窗口&…

大学生社团活动平台系统基于springboot+vue的社团管理系统java项目sprignboot项目

文章目录 大学生社团活动平台一、项目介绍二、部分功能截图三、部分代码展示四、底部获取项目源码&#xff08;9.9&#xffe5;带走&#xff09; 大学生社团活动平台 一、项目介绍 基于springbootvue的前后端分离大学生社团活动平台 系统角色 : 学生、社长、管理员 1、学生…

pytorch笔记:topk

1 介绍 返回给定输入张量沿指定维度的最大的 k 个元素 如果没有指定 dim 参数&#xff0c;则默认选择输入张量的最后一个维度如果 largest 设置为 False&#xff0c;则返回最小的 k 个元素。返回一个命名元组 (values, indices)&#xff0c;其中包含每一行在指定维度 dim 上最…