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日

相关文章

  • JS 设置Cookie 有效期 检测cookie

    下面是 JS 设置 Cookie 有效期、检测 Cookie 的完整攻略。 设置 Cookie 有效期 通过设置 Cookie 的过期时间,可以让 Cookie 在指定时间内有效,超过指定时间后自动失效。接下来,我们将通过两条示例来展示如何设置 Cookie 有效期。 示例一:使用 Expires 属性 Expires 属性是设置 Cookie 生命周期的一…

    JavaScript 2023年6月11日
    00
  • JS实现获取毫秒值及转换成年月日时分秒的方法

    获取毫秒值及转换成年月日时分秒是JavaScript开发中的基础操作,以下是获取毫秒值及转换成年月日时分秒的完整攻略。 获取毫秒值 获取当前时间距离1970年1月1日0时0分0秒(UTC)的毫秒数,可以使用JavaScript中的Date.now()方法,它会返回当前时间的毫秒值,示例如下: const currentTime = Date.now(); c…

    JavaScript 2023年5月27日
    00
  • JavaScript实现简易计算器功能的两种方法

    当需要在网页上实现简单的数学计算时,我们可以使用JavaScript来实现一个简易的计算器,下面介绍两种方法。 方法一:使用eval()函数实现计算器功能 在HTML文件中添加一个文本输入框和一个按钮: <input type="text" id="num"> <button onclick=&quo…

    JavaScript 2023年5月27日
    00
  • JS面向对象(3)之Object类,静态属性,闭包,私有属性, call和apply的使用,继承的三种实现方法

    JS面向对象(3)之Object类,静态属性,闭包,私有属性, call和apply的使用,继承的三种实现方法 JS作为一门基于面向对象的语言,其语法中包含了许多与对象有关的特性。本文将介绍JS中Object类、静态属性、闭包、私有属性、call和apply的使用、继承的三种实现方法。 Object类 在JS中,所有对象都是由Object类派生而来,因此也可…

    JavaScript 2023年5月27日
    00
  • JavaScript 对象模型 执行模型

    我来讲解一下 JavaScript 对象模型和执行模型。 JavaScript 对象模型 JavaScript 对象模型(Document Object Model,简称 DOM)是一种表现 HTML 或 XML 文档的方式,它将文档作为节点树表示。每个节点都是一个对象,由此可得到 DOM 中体现的是一种父子关系。在 JavaScript 中,可以通过访问 …

    JavaScript 2023年5月27日
    00
  • JavaScript常用脚本汇总(三)

    下面来详细讲解一下“JavaScript常用脚本汇总(三)”。 概述 本文是JavaScript常用脚本汇总系列的第三篇,主要介绍一些常用的JavaScript脚本及其用法,希望能为广大JavaScript开发者提供一些参考和帮助。本文内容主要包括:局部刷新页面、自动保存草稿、获取浏览器版本信息和判断是否为移动端等。 局部刷新页面 在传统的Web应用程序中,…

    JavaScript 2023年5月18日
    00
  • javascript中闭包closure的深入讲解

    JavaScript中闭包(closure)的深入讲解 在JavaScript中,闭包是一个非常重要的概念,也是面试中经常考察的知识点。下面将深入讲解JavaScript中闭包的概念、特点和使用方法。 什么是闭包 闭包指的是在一个函数内部使用另一个函数的变量,形成了一个作用域链,外部函数或其他地方无法访问这个内部函数的变量,但内部函数可以访问外层函数的变量。…

    JavaScript 2023年6月10日
    00
  • 聊聊JavaScript中.?、??、??=的用法以及含义

    当我们在JavaScript中使用对象或者变量时,可能会出现有些属性或者变量是未定义的情况,这时就会用到JavaScript中的三个操作符: . 、?. 、??和??=。下面我将分别详细讲解它们的用法和含义。 . 访问对象属性 首先让我们看下JavaScript中最基本的 . 操作符。这个操作符用于访问对象的属性。例如: const person = { n…

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