vue2主体页面进行拆分

news2024/10/6 8:33:07

目录

一.组件化

二.新建Header.vue页面

三.Aside.vue代码

四.Main.vue代码如下

五.Home.vue代码如下

六.index.js代码如下:

七.项目效果图


在Vue.js 2中,将主体页面进行拆分是一种常见的做法,它有助于提高代码的可维护性和可读性。页面拆分通常涉及以下几个步骤:

一.组件化

将页面的不同部分分解成独立的组件。例如,一个页面可能包含头部(Header)、内容区域(Content)、侧边栏(Sidebar)等,每个部分都可以是一个Vue组件。

二.新建Header.vue页面

在components文件夹中新建Header.vue页面

Header.vue页面代码如下:

<template>
  <div style="line-height: 60px; display: flex" >
    <div style="flex: 1;">
      <span style="cursor: pointer; font-size: 18px"></span>
      <el-breadcrumb separator="/" style="display: inline-block; margin-left: 10px">
        <el-breadcrumb-item :to="{ path: '/' }">首页</el-breadcrumb-item>
        <el-breadcrumb-item><a href="/">活动管理</a></el-breadcrumb-item>
      </el-breadcrumb>
    </div>
    <el-dropdown style="width: 150px; cursor: pointer; text-align: right">
      <div style="display: inline-block">
        <img src="@/assets/logo.jpg" alt=""
             style="width: 30px; border-radius: 50%; position: relative; top: 10px; right: 5px" />
        <span>王小虎</span>
        <i class="el-icon-arrow-down" style="margin-left: 5px"></i>
      </div>
      <el-dropdown-menu slot="dropdown" style="width: 100px; text-align: center">
        <el-dropdown-item style="font-size: 14px; padding: 5px 0">
          <router-link to="/"><el-link :underline="false">修改密码</el-link></router-link>
        </el-dropdown-item>
        <el-dropdown-item style="font-size: 14px; padding: 5px 0">
          <router-link to="/"><el-link :underline="false">个人信息</el-link></router-link>
        </el-dropdown-item>
        <el-dropdown-item style="font-size: 14px; padding: 5px 0">
          <span style="text-decoration: none">退出</span>
        </el-dropdown-item>
      </el-dropdown-menu>
    </el-dropdown>
  </div>
</template>
<script>
export default {
}
</script>

三.Aside.vue代码

在components文件夹中新建Aside.vue页面

<template>
  <el-menu
    :default-openeds="[]" style="height: 780px; overflow-x: hidden"
    background-color="#1f2d3d"
    text-color="#fff"
    :unique-opened="true"
    default-active="/home"
    active-text-color="rgb(75 175 255)"
    :collapse-transition="false"
    router>
    <div style="height: 60px; line-height: 60px; text-align: center">
      <img src="../assets/logo.png" alt="" style="width: 20px; position: relative; top: 2px;">
      <b style="color: white">仓库管理系统</b>
    </div>
    <el-menu-item index="/home"><i class="el-icon-s-home"></i><span>首页</span></el-menu-item>
    <el-submenu index="1">
      <template slot="title"><i class="el-icon-message"></i>物资管理</template>
      <el-menu-item index="1-1">物资入库</el-menu-item>
      <el-menu-item index="1-2">发放物资</el-menu-item>
      <el-menu-item index="1-3">物资信息</el-menu-item>
    </el-submenu>
    <el-submenu index="2">
      <template slot="title"><i class="el-icon-menu"></i>仓库管理</template>
      <el-menu-item index="2-1">仓库信息</el-menu-item>
    </el-submenu>
    <el-submenu index="3">
      <template slot="title"><i class="el-icon-setting"></i>系统管理</template>
      <el-menu-item index="3-1">用户信息</el-menu-item>
      <el-menu-item index="3-2">角色信息</el-menu-item>
    </el-submenu>
  </el-menu>
</template>

<script>

</script>

四.Main.vue代码如下

主体Main.vue页面修改代码如下:

<template>
  <el-container>
    <!-- 侧边栏 -->
    <el-aside width="200px">
      <Aside/>
    </el-aside>

    <el-container>
      <!-- 头部导航栏 -->
      <el-header style="border-bottom: 1px solid #ccc;">
        <Header/>
      </el-header>
      <!-- 表示当前页面的子路由会在 <router-view /> 里面展示 -->
      <el-main>
        <router-view/>
      </el-main>
    </el-container>
  </el-container>
</template>
<script>
import Header from '@/components/Header'
import Aside from '@/components/Aside'
export default {
  components: {
    Aside,
    Header
  }
}
</script>

五.Home.vue代码如下

在src/views文件夹下新增main文件夹:存放main.vue页面的子路由页面

新增首页Home.vue代码如下:

<template>
  <div>
  <div style="height: 60px">
    <span>首页公告详情</span>
  </div>
  <div style="height: 200px;">
    <el-steps direction="vertical" :active="1">
      <el-step title="步骤 1" description="这是一段很长很长很长的描述性文字"></el-step>
      <el-step title="步骤 2" description="这是一段很长很长很长的描述性文字"></el-step>
      <el-step title="步骤 3" description="这是一段很长很长很长的描述性文字"></el-step>
    </el-steps>
  </div>
  </div>
</template>
<script>

</script>

六.index.js代码如下:

在router/index.js文件修改如下:

// 其它路由
{
  path: '/main',
  name: 'Main',
  redirect: '/home',// 当登录成功之后,重定向到子路由首页
  component: () => import('@/views/Main.vue'),
  children: [
    {
      path: '/home',
      name: 'Home',
      component: () => import('@/views/main/Home.vue')
    }
  ]
}

七.项目效果图

拆分主体页面之后,启动项目,项目效果图如下所示:

以上就是vue2主体页面拆分步骤。拆分之后的代码更有利于维护。

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

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

相关文章

Halcon 3D 使用3D ROI截取模型

Halcon 3D 使用3D ROI截取模型 链接:https://pan.baidu.com/s/1UfFyZ6y-EFq9jy0T_DTJGA 提取码:ewdi * 1.读取图片 ****************

新装电脑Flutter环境部署坑汇总(持续更新)

1.本地安装&#xff0c;安装fvm的坑 本人电脑使用windows &#xff0c;安装fvm则一般使用choco安装&#xff0c;那么首先需要安装choco,打开powershell/或者cmd运行以下命令&#xff1a; Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager…

word启动缓慢之Baidu Netdisk Word Addin

word启动足足花了7秒钟&#xff0c;你知道我这7秒是怎么过来的吗&#xff1f; 原因就是我们可爱的百度网盘等APP&#xff0c;在我们安装客户端时&#xff0c;默认安装了Office加载项&#xff0c;不仅在菜单栏上加上了一个丑陋的字眼&#xff0c;也拖慢了word启动速度........ 解…

STM32H750片外QSPI下载算法文件(stldr)生成

STM32H750片外QSPI下载算法文件&#xff08;stldr&#xff09;生成 &#x1f33f;相关篇《STM32H750片外QSPI启动配置简要》&#x1f4cc;参考实现资料&#xff1a; https://github.com/lchnu/STM32H750XBH_ARTPIQSPI_W25Q64JV https://gitee.com/wangchief/H750_W25QXX ✨利…

链路层安全扩展——L2TP协议

链路层安全扩展——L2TP协议 PPP协议 协议概念 说到数据链路层的安全协议&#xff0c;我们不得不先提一下PPP协议&#xff0c;后面的PAP、CHAP与L2TP协议都是围绕它展开的。&#xff08;PPP不是本文重点&#xff0c;很多细节没有提到&#xff0c;到时候会专开一篇文章讲PPP&…

Java 8 Stream API的使用

一、什么是Stream&#xff1f; Stream&#xff08;流&#xff09;是一个来自数据源的元素队列&#xff0c;它可以支持聚合操作。 数据源&#xff1a;流的数据来源&#xff0c;构造Stream对象的数据源&#xff0c;比如通过一个List来构造Stream对象&#xff0c;这个List就是数…

ardupilot开发 --- RealSense-D400 篇

目录 0. 一些概念1. 用windows检查设备是否正常1. 使用 Intel RealSense SDK 2.0 查看相机图像数据 0. 一些概念 官网&#xff1a;添加链接描述选型&#xff1a;D455 1. 用windows检查设备是否正常 用USB连接D455与PC 下载 Intel.RealSense.Viewer.exe 并打开&#xff0c;设…

ACE框架学习3

ACE Acceptor-Connector框架 该框架实现 Acceptor-Connector 模式&#xff0c;该模式解除了“网络化应用中的协作对端服务的连接和初始化”与“连接和初始化之后它们所执行的处理”的耦合。Acceptor-Connector 框架允许成用独立于它们所提供的服务来配置其连接布局的关键属性。…

正版软件 | Reg Organizer - 适用于 Windows 的注册表清理工具软件 教程分享

什么是 Reg Organizer &#xff1f; Reg Organizer 是一套用于维护和优化 Windows 操作系统的工具。 通过使用 Reg Organizer&#xff0c;您可以清理系统中无用的文件&#xff0c;优化启动应用程序&#xff0c;编辑 Windows 注册表&#xff0c;搜索和替换注册表项和值&#…

Xtuner微调笔记

Xtuner学习视频 两种微调范式 在指令微调的过程中&#xff0c;需要高质量的对话数据。 而构建高质量的对话&#xff08;指令&#xff09;数据&#xff0c;则涉及到以下流程 先通过system/user/assistant的json格式来构造对话模板&#xff0c;把问题和期望模型做出的回答通过…

Q1笔记本电脑线上市场发展现状:大盘下滑,深耕细分市场是机会

今年&#xff0c;宏观经济环境的恶化和笔记本电脑需求的持续放缓&#xff0c;导致全球笔记本电脑出货量&#xff0c;尤其是线上市场的整体状态不容乐观。 根据鲸参谋数据显示&#xff0c;今年Q1笔记本在线上市场&#xff08;京东天猫淘宝&#xff09;综合销量约250万件&#x…

如何禁用WordPress的自动更新(包括主题、插件和核心文件)

这几天发现我的一个网站突然打不开了&#xff0c;提示“此站点遇到了致命错误”,如图&#xff1a; 这个网站一直都是正常运行的&#xff0c;最近也没有过什么更新&#xff0c;按理说不应该会出现问题&#xff0c;我担心可能是主机方面做了什么调整导致&#xff0c;所以联系了Ho…

ShaderLab的混合命令

文章目录 示例原理混合因子混合操作参考 示例 Pass {Tags{"LightMode" "ForwardBase"}// 关闭深度写入ZWrite Off// 设置Pass的混合模式&#xff0c;SrcAlpha: 片元着色器产生的颜色的混合因子// OneMinusSrcAlpha 已经存在于颜色缓冲中的颜色的混合因子…

idea 的使用和安装 以及简介

Java开发工具 大家刚才写代码的时候都是用记事本写的&#xff0c;但是有没有觉得记事本写代码不太方便啊&#xff01;记事本写代码单词写错了没有提示&#xff0c;格式也不好调整&#xff0c;写代码之后还需要我们到命令行使用javac命令手动编译&#xff0c;然后运行。 有没有一…

[NISACTF 2022]bilala的二维码

​​​​​​​NSSCTF{M0RS34ND282X231} 还有一个是像素我找不到

Docker 简单使用及安装常用软件

一、Docker 安装、配置与卸载 1.1、Docker 安装 # 1.安装gcc环境 yum -y install gcc gcc-c && \# 2. 卸载docker旧版本&#xff08;可能之前有安装&#xff09; yum -y remove docker docker-common docker-selinux docker-engine && \# 3. 安装依赖的软件包…

易错知识点(学习过程中不断记录)

快捷键专区&#xff1a; 注释&#xff1a;ctrl/ ctrlshift/ 保存&#xff1a;ctrls 调试&#xff1a; 知识点专区&#xff1a; 1基本数据类型 基本数据类型有四类&#xff1a;整型、浮点型、字符型、布尔型&#xff08;Boolean&#xff09;&#xff0c; 分为八种&#xff…

房产中介小程序高效开发攻略:从模板到上线一站式服务

对于房产中介而言&#xff0c;拥有一个高效且用户友好的小程序是提升业务、增强客户黏性的关键。而采用直接复制模板的开发方式&#xff0c;无疑是实现这一目标的最佳途径&#xff0c;不仅简单快捷&#xff0c;而且性价比极高。 在众多小程序模板开发平台中&#xff0c;乔拓云网…

国外企业使用生成式人工智能实例100

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

电脑使用笔记

1.电脑亮度调节 亮度&#xff1a;50 对比度&#xff1a;45 暗部平衡&#xff1a;40