Vue3+Element-Plus 实现点击左侧菜单时显示不同内容组件展示在Main区域功能

一、准备工作

首先需要创建一个基于Vue3的项目,可以使用Vue CLI来创建,并安装Element-Plus插件。具体细节可以参考Vue CLI和Element-Plus的官方文档。

二、菜单组件的实现

菜单组件采用Element-Plus自带的菜单组件el-menu,需要在菜单组件中引入需要显示的组件,并在点击菜单时将组件插入到Main区域中。

实现的大体思路如下:

1.在菜单组件中定义菜单项和对应的组件路径。

2.在点击菜单时,通过路由跳转,将对应组件显示到Main区域。

具体实现代码如下:

<template>
  <el-menu router :default-active="$route.path" @select="handleSelect">
    <el-menu-item index="/home">Home</el-menu-item>
    <el-menu-item index="/about">About</el-menu-item>
  </el-menu>
</template>

<script>
export default {
  methods: {
    handleSelect(index, indexPath) {
      this.$router.push(index);
    },
  },
};
</script>

在这个例子中,菜单项包括"Home"和"About",对应的路由路径分别为"/home"和"/about"。

三、Main区域的实现

Main区域是组件的展示区域,需要根据当前路由的组件路径来动态渲染组件。

具体实现方法如下:

1.在Main区域中使用router-view标签,用于显示当前路由对应的组件。

2.在路由配置文件中定义路由对应的组件。

3.在App.vue文件中使用router-view标签,显示当前路由对应的组件。

具体实现代码如下:

<template>
  <div class="app-container">
    <Menu />
    <div class="main-container">
      <router-view></router-view>
    </div>
  </div>
</template>

<script>
import Menu from "./components/menu.vue";

export default {
  name: "App",
  components: {
    Menu,
  },
};
</script>

四、示例

以下是一个完整的示例代码,可以参考实现菜单组件和Main区域的功能。

<template>
  <div class="app-container">
    <Menu />
    <div class="main-container">
      <router-view></router-view>
    </div>
  </div>
</template>

<script>
import Menu from "./components/menu.vue";
import Home from "./views/home.vue";
import About from "./views/about.vue";

export default {
  name: "App",
  components: {
    Menu,
  },
  routes: [
    {
      path: "/home",
      component: Home,
    },
    {
      path: "/about",
      component: About,
    },
  ],
};
</script>

<style>
.app-container {
  display: flex;
  flex-direction: row;
}

.main-container {
  flex: 1;
  margin-left: 20px;
  margin-right: 20px;
}
</style>

菜单组件代码:

<template>
  <el-menu router :default-active="$route.path" @select="handleSelect">
    <el-menu-item index="/home">Home</el-menu-item>
    <el-menu-item index="/about">About</el-menu-item>
  </el-menu>
</template>

<script>
export default {
  methods: {
    handleSelect(index, indexPath) {
      this.$router.push(index);
    },
  },
};
</script>

Home组件代码:

<template>
  <div>
    <h1>Home</h1>
    <p>Welcome to the home page.</p>
  </div>
</template>

About组件代码:

<template>
  <div>
    <h1>About</h1>
    <p>Welcome to the about page.</p>
  </div>
</template>

以上就是Vue3+Element-Plus 实现点击左侧菜单时显示不同内容组件展示在Main区域的完整攻略,可以根据自己的需求进行灵活使用和二次开发。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Vue3+Element-Plus 实现点击左侧菜单时显示不同内容组件展示在Main区域功能 - Python技术站

(0)
上一篇 2023年6月10日
下一篇 2023年6月10日

相关文章

  • JavaScript高级 ES7-ES13 新特性详解

    JavaScript 高级 ES7-ES13 新特性详解 在这里,我们将介绍 JavaScript ES7 到 ES13 所引入的一些新特性。 1. ES7 新特性 1.1 includes 方法 includes() 方法可用于判断一个数组是否包含一个特定的值,并返回 true 或 false。这个方法在 ES7 中被正式引入,可以通过以下的方式来调用: …

    JavaScript 2023年6月10日
    00
  • 总结JavaScript中布尔操作符||与&&的使用技巧

    下面是关于“总结JavaScript中布尔操作符||与&&的使用技巧”的攻略: 1. 什么是布尔操作符 布尔操作符是指用于比较两个值并返回一个布尔值的运算符。在JavaScript中,常用的布尔操作符有 &&(与)、||(或)和!(非)。 2. 布尔操作符||(或) 2.1 基本使用 布尔操作符||的作用是在两个操作数中,只要…

    JavaScript 2023年6月11日
    00
  • JavaScript防抖与节流超详细全面讲解

    JavaScript防抖与节流超详细全面讲解 一、什么是防抖与节流 防抖(debouncing)和节流(throttling)解决的是高频触发事件的性能问题。事件被触发多次,但是实际上我们只需要在事件停止触发之后才进行一次处理,或者减少事件的触发次数。 防抖是指在短时间内多次触发同一个事件,只执行最后一次,或者只在连续触发事件后停止一段时间后再执行。比如在输…

    JavaScript 2023年6月10日
    00
  • javascript中类的定义及其方式(《javascript高级程序设计》学习笔记)

    JavaScript中类的定义及其方式 什么是类 类是面向对象编程中的基本概念之一,它是一个抽象的概念,用来描述一个共性的概念或一些具有相同属性和方法的对象的集合。 在ES6之前,JavaScript中并没有类的概念,但是通过函数和构造函数的方式,可以模拟出类的定义和使用。 定义类的方式 1. 使用函数 通过创建一个函数,来模拟出一个类,然后可以使用new关…

    JavaScript 2023年5月27日
    00
  • 一个即时表单验证的javascript代码

    下面就为您详细讲解如何编写一个即时表单验证的 JavaScript 代码。 编写 JavaScript 表单验证代码的基本步骤 获取表单的各个输入项,如输入框、单选框、多选框等,并对每个输入项都定义一个监听事件(如 onblur、onkeyup 等),监听输入内容的改变。 在监听事件中编写检验函数,该函数应当返回布尔值来表示输入项是否符合要求。可以根据不同的…

    JavaScript 2023年6月10日
    00
  • asp.net下使用jQuery.AutoComplete完成仿淘宝商品搜索自动完成功能(改进了键盘上下选择体验)

    下面是详细讲解“asp.net下使用jQuery.AutoComplete完成仿淘宝商品搜索自动完成功能(改进了键盘上下选择体验)”的完整攻略。 第一步:引入jQuery和jQuery UI库 首先,我们需要在html页面中引入jQuery和jQuery UI库。这可以通过在head标签内添加如下代码来实现: <head> <script …

    JavaScript 2023年6月11日
    00
  • 浅谈layui 绑定form submit提交表单的注意事项

    浅谈layui 绑定form submit提交表单的注意事项 简介 Layui是一个简洁易用、界面优美的前端UI框架,由于其易于上手,成为了很多前端工程师首选框架之一。在Layui中,表单提交是一个常见的操作,而绑定表单提交的事件则是经常使用到的操作。本文将会简单介绍在Layui中,绑定form submit提交表单的注意事项。 使用方式 通常情况下,在La…

    JavaScript 2023年6月10日
    00
  • Javascript实现视频轮播在pc端与移动端均可

    下面是“Javascript实现视频轮播在pc端与移动端均可”的完整攻略。 1. 视频轮播的基本概念 首先,我们需要了解什么是视频轮播。视频轮播是指一段视频或多段视频在一定时间内自动播放,一般会在网站的首页或特定页面上展示。在PC端视频轮播多为横向滚动轮播,而在移动端多为纵向滚动轮播。 2. 实现视频轮播的基本方法 主要通过监听轮播事件、控制视频播放、实现自…

    JavaScript 2023年6月11日
    00
合作推广
合作推广
分享本页
返回顶部