使用Vue cli脚手架实现公共路由,例如菜单栏为公共部分

需求分析
在实际的vue开发中,我们想实现点击header菜单栏组件中的某一个选项,在跳转到该路由的同时,菜单栏依旧存在,且被点击的菜单选项为active状态
例如图1,我们想点击用户管理时,跳转到用户管理的路由,并保持菜单栏不变,我们并不希望出现像图2这样的效果

图1
在这里插入图片描述
图2
在这里插入图片描述
解决方法
在App.vue(webpack自动创建好的,原本保存的是Vue的logo)中编写我们需要保存的公共组件,并把原来的标签去除,放在我们的菜单栏中,示例代码如下:

<template>
  <div id="app">
    <el-container>
      <el-header>
        <!--导航菜单-->
        <el-menu :default-active="activeIndex" class="el-menu-demo" mode="horizontal" @select="handleSelect">
          <el-menu-item index="/index">主页</el-menu-item>
          <el-menu-item index="/users" >用户管理</el-menu-item>

          <el-menu-item index="/msgs" >消息中心</el-menu-item>
          <el-menu-item index="orders">订单管理</el-menu-item>
        </el-menu>
        <div class="line"></div>

      </el-header>
      <el-main>
        <router-view/>
      </el-main>
    </el-container>
  </div>
</template>

<script>
export default {
  name: 'App',
  data() {
    return {
      activeIndex: '/index',
    };
  },
  methods: {
    handleSelect(key, keyPath) {
      console.log(key, keyPath);
      this.$router.push(key);
    }
  }
}
</script>

<style>

</style>

效果图展示
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值