【小趴菜前端实习日记1】

news2024/9/25 13:22:10

后台管理系统的模块化开发:vue2+vueRouter+Element-ui+axios

  • 一、后台框架:element-ui + `<router-view>`匹配路由
  • 二、封装侧边栏(结合el-menu进行二次封装)
    • 1.slideBar.vue:
    • 2.slideBarItem.vue
      • vue中用template标签包裹循环渲染列表
  • 三、筛选对象属性方法

前端前辈大大的要求:
在这里插入图片描述

一、后台框架:element-ui + <router-view>匹配路由

使用element-ui的布局容器布局:
在这里插入图片描述
在这里插入图片描述
<router-view>放在main的位置
home.vue:
在这里插入图片描述
二级路由配置:
在这里插入图片描述

二、封装侧边栏(结合el-menu进行二次封装)

在页面home.vue引入了组件slideBar,由于slideBar侧边栏里的菜单项的条目和层级数是不确定的,我们进行了二次封装使菜单项根据传入的数据递归渲染

1.slideBar.vue:

slideBar是父组件,slideBarItem是子组件,父亲传入具体的barList值给儿子进行渲染

<template>
  <div>
    <el-menu
      :default-active="activeIndex"
      class="el-menu-vertical-demo"
      background-color="#545c64"
      text-color="#fff"
      active-text-color="#ffd04b" router>
      <slide-bar-item :barList="barList"></slide-bar-item>
    </el-menu>

  </div>
</template>

<script>
import slideBarItem from './slideBarItem.vue';
export default {
  components:{
    slideBarItem
  },
  data(){
    return{
      activeIndex: '',
      barList:[
                {
                    id:1,
                    label:'老大',
                    link:'/menu1',
                    children:[
                        {
                            id:2,
                            label:'老大的大儿子',
                            link:'/submenu1',
                            address:"2-1",
                            children:[]
                        },
                        {
                            id:3,
                            label:'老大的二儿子',
                            link:'/submenu2',
                            address:"2-2"
                        }
                    ]
                },
                {
                    id:4,
                    label:'老二',
                    link:'/menu2'
                },
                {
                    id:5,
                    label:'老三',
                    link:"/menu3"
                }
            ],
    }
  },
  props:{
 
  },
  methods: {
     
    }
}
</script>

<style>

</style>

2.slideBarItem.vue

在子组件中,不光要接收父组件传过来的barList值,同时在模板中调用自身(也需要引入注册和使用),通过v-if和v-else判断是否具有子项进行条件渲染,使用 ?.语法,如果对象的属性值不存在,这个表达式将返回undefined,不会抛出错误

vue中用template标签包裹循环渲染列表

在 Vue 中使用 标签而不是 <div> 标签来包裹和循环渲染列表有几个好处。主要原因是 <template> 标签作为模板点位符,可帮助我们包裹元素,但在循环过程中 template 标签不会被渲染到页面,使用template而不是div标签,不会在最终的渲染中生成额外的 DOM 元素,因此可以保持 DOM 结构的简洁和干净。

<template>
    <div>
        <template v-for="(item) in barList" >
            <el-submenu :index="item.link" v-if="item?.children?.length > 0" :key="item.id" >
                <template slot="title">
                    <i class="el-icon-location"></i>
                    <span>{{ item.label }}</span>
                </template>
                <slide-bar-item :barList="item.children"></slide-bar-item>
            </el-submenu>
            <div v-else :key="item.id">
                <el-menu-item :index="item.link" :key="item.id">
                    <i class="el-icon-menu"></i>
                    <span slot="title">{{ item.label }}</span>
                </el-menu-item>
            </div>
        </template>
    </div>

</template>

<script>
import slideBarItem from './slideBarItem'
export default {
    name:'slide-bar-item',
    props: {
        barList: {
            type: Array,
            required: true,
            default: () => {
                return []
            }
        }
    },
    components:{
        slideBarItem
    }

}
</script>

<style></style>

三、筛选对象属性方法

这是我本来搜到的方法……
row是一个对象,去除里面的content和available属性
在这里插入图片描述
结果老大一句代码就搞定了啊哈哈:
在这里插入图片描述

不说了,去复习es6的方法了……

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

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

相关文章

AI数字人直播平台+短视频合成平台软件系统 附带源代码包以及部署教程

AI数字人直播平台概述 AI数字人直播平台是一种基于人工智能技术的虚拟直播系统&#xff0c;它利用深度学习、自然语言处理、计算机视觉等技术&#xff0c;克隆出与真人相似的AI数字人&#xff0c;并在平台上进行直播。这些数字人不仅具有真人的外形、动作&#xff0c;而且镜头…

【vulhub靶场之thinkphp】——(5-rce)

第一步&#xff1a;打开靶场 输入开启命令 cd vulhub/thinkphp/5-rce docker-compose up -d docker-compose ps//查看开启的端口 第二步&#xff1a; 访问网址 第三步&#xff1a;漏洞利用 漏洞根本源于 thinkphp/library/think/Request.php 中method方法可以进行变量覆盖&am…

Docker如何优雅删除镜像以及容器

一、先查看镜像和容器 docker images docker ps -a 二、停止正在运行的容器&#xff08;CONTAINER ID即容器ID&#xff0c;直接复制即可&#xff09; docker stop CONTAINER ID 三、删除容器 docker rm CONTAINER ID 四、删除镜像&#xff08;IMAGE ID即镜像ID&#xff0c;同理…

25考研计算机组成原理复习·3.3主存储器与CPU的连接·3.4外部存储器

目录 主存储器与CPU的连接 存储芯片的基本结构 位扩展/字扩展 位扩展 字扩展 字位同时扩展 外部存储器 磁盘存储器 磁盘原理 磁盘设备的组成 性能指标 磁盘阵列RAID 固态硬盘 组成 &#x1f469;‍&#x1f4bb; 读写性能特性 与机械硬盘相比的特点 &#x1f…

【Linux】权限(shell外壳、文件权限、管理权限)

目录 推荐文章一、shell 外壳1 文章详解&#xff1a;秒懂shell外壳程序3.shell 外壳是什么&#xff1f;4.shell 的执行 二、用户权限1.用户类型1.1.普通用户切换 rootsu 与 su - 的区别[Linux 中su 与su - 的区别](http://t.csdnimg.cn/IlIET)su - root &#xff08;完全切换了…

20240807提取飞凌OK3588-C的IMG固件中的时钟频率link_freq和pixel_clock

20240807提取飞凌OK3588-C的IMG固件中的时钟频率link_freq和pixel_clock 2024/8/6 16:32 缘起&#xff1a;调试代码的时候边调试变修改&#xff0c;在优化MIPI CSI时钟的时候&#xff0c;越改越差&#xff01;最后变成了负优化。 现在源代码/C文件找不到了&#xff0c;但是还有…

SQL注入实例(sqli-labs/less-19)

0、初始页面 1、确定闭合字符 注入点为referer&#xff0c;闭合字符为单引号 2、爆库名 3、爆表名 4、爆列名 5、查询最终目标

笔面试编程题总结

8/6诺瓦星云 修改程序 void point(int *p){*p p[2];}; int main() {int c[] {1,2,3,4,5},*p c;point(p1);for(;p <c5;){printf("%d",*p);}return 0; }1、分隔字符串 strtok //c语言 #include <stdio.h> #include <string.h>// 函数声明 char* fin…

【合并 K 个升序链表】python刷题记录

R4-分治篇 目录 最小堆方法 分治法 ps: 如果只是数组就很好处理了 # Definition for singly-linked list. # class ListNode: # def __init__(self, val0, nextNone): # self.val val # self.next next class Solution:def mergeKLists(self, lists…

C++ GDl+ 多张图片合并生成GIF动画格式图片

使用ImageMagick多张图合成GIF。 1、工具下载安装 下载地址&#xff1a;ImageMagick – Download&#xff0c;windows下载版本如下&#xff1a; 下载后&#xff0c;安装&#xff0c;安装时选择为C/C安装动态库和头文件。 2、代码实现 附加包含目录&#xff1a;ImageMagick-7.…

Is exchanging integral and sum this way allowed?

See https://math.stackexchange.com/questions/3878856/is-exchanging-integral-and-sum-this-way-allowed#:~:textYes%2C%20and%20the%20reason%20is%20simple%20-%20the,just%20a%20whole%20lot%20of%20these%20squeezed%20together.

涉密U盘管理:公司禁用个人U盘的两种常规设置方法

古语云&#xff1a;“事以密成&#xff0c;语以泄败。”此言道出了保密工作对于事业成功的重要性。 在当今这个信息爆炸的时代&#xff0c;数据的安全与保密已成为企业生存与发展的基石。尤其是在处理涉密信息时&#xff0c;任何微小的疏忽都可能引发严重的后果。 因此&#x…

zabbix7.0TLS-04-快速入门-监控项

文章目录 1 概述2 查看一个主机的所有监控项3 添加新的监控项3.1 监控项 各个配置项详解3.2 测试配置项3.3 添加成功 1 概述 一个监控项对应了一个键和值。监控项是监控数据的来源&#xff0c;没有监控项也就没有监控数据。 监控项必须添加到某一个主机中&#xff0c;一个主机…

学习日志8.8--防火墙状态检测

在之前的拓扑实验中手动配置了安全策略&#xff0c;允许trust到untrust之间进行通信&#xff0c;也允许untrust到trust之间进行通信。意味着&#xff0c;防火墙是支持单方向管控的&#xff0c;意思是inbound和outbound方向的流量管控需要分别配置。 当在配置trust到untrust的安…

【人工智能】【机器学习】-好书推荐之《Python神经网络编程》

目录 内容概览 编程环境 面向对象 学习目标 如果你是想要自学机器学习相关知识的读者&#xff0c;我相信看完这篇文章的介绍后&#xff0c;你会对机器学习有更清晰的认识。帮助你走进机器学习的殿堂。 《Python神经网络编程》&#xff08;原书名&#xff1a;Make Your Own …

STM32基础篇:I2C通信协议

I2C总线 I2C&#xff08;IIC---Inter Integrated Circuit 内部集成电路&#xff09; 以上为I2C大体结构图&#xff0c;其中时钟线SCL用于传输时钟信号&#xff0c;数据线SDA来传输实际的数据。 主机与从机 1.主机的职责 假如由从机1和从机2&#xff0c;从机1想向SDA上发送一…

瞬态太阳光模拟器特点

技术指标与主要功能 瞬态太阳光模拟器是一种高端的分析仪器&#xff0c;主要用于能源科学技术、环境科学技术和资源科学技术领域。它能够模拟太阳光的光谱、光强和光照条件&#xff0c;为实验室环境中的光伏电池及其他太阳能设备提供稳定可靠的光照环境。技术指标包括但不限于辐…

AI与PS:技术革命下的设计工具比较

在数字化时代&#xff0c;人工智能&#xff08;AI&#xff09;和 Photoshop&#xff08;PS&#xff09;已成为创新和创意的两大支柱。虽然它们在某些方面有所交集&#xff0c;但本质上却有着根本的不同。本文将深入探讨这两者的不同之处&#xff0c;帮助你更全面地理解 AI 和 P…

《学会 SpringMVC 系列 · 剖析出参处理》

&#x1f4e2; 大家好&#xff0c;我是 【战神刘玉栋】&#xff0c;有10多年的研发经验&#xff0c;致力于前后端技术栈的知识沉淀和传播。 &#x1f497; &#x1f33b; CSDN入驻不久&#xff0c;希望大家多多支持&#xff0c;后续会继续提升文章质量&#xff0c;绝不滥竽充数…

知乎问答广告开户收费,知乎广告投放价格!

知乎&#xff0c;作为中国最大的知识分享社区&#xff0c;凭借其庞大的用户基础、高质量的内容生态和精准的数据分析能力&#xff0c;成为了众多企业争相投放广告的热门平台。如何在知乎上精准投放广告&#xff0c;实现品牌曝光与业绩增长&#xff0c;成为了众多企业面临的难题…