最近准备写一个echarts的可视化展示案例,首先用vue-cli3创建了一个项目(好像vue-cli4也出来,感觉变化不大,就没升级了)

然后,开始配置路由↓下面是我的router.js文件

import Vue from "vue";
import VueRouter from "vue-router";
import Home from "@/views/main/index.vue"; Vue.use(VueRouter); const routes = [
{
path: "/",
name: "home",
component: Home,
redirect: "/home",
children:[
{
path: 'home',
name: 'home',
component: () => import("@/views/home/index.vue")
},
{
path: 'charts/gauge',
name: 'gauge',
component: () => import("@/charts/gauge/index.vue")
},
{
path: 'charts/bar',
name: 'bar',
component: () => import("@/charts/bar/index.vue")
},
{
path: 'charts/line',
name: 'line',
component: () => import("@/charts/line/index.vue")
}
]
}
]; // 路由配置
const RouterConfig = {
mode: 'history', // require service support
scrollBehavior: () => ({
y: 0
}),
routes
}
// export const router = new Router(RouterConfig)
const createRouter = () => new VueRouter(RouterConfig) // 创建路由实例
const router = createRouter()
// 添加动态路由
// addAsyncRouter() export default router;

路由配好后下面就开始写测边栏的菜单

代码如下

<!-- 侧边栏 -->
<el-aside style="background-color: #545c64" width="">
<el-menu
@select="handleSelect"
background-color="#545c64"
text-color="#fff"
active-text-color="#ffd04b"
default-active="/home"
:collapse="isCollapse"
:class="{ 'myMenu': isActive }"
>
<el-menu-item index="/home">
<i class="el-icon-menu"></i>
<span slot="title">首页</span>
</el-menu-item>
<el-submenu index="2">
<template slot="title">
<i class="el-icon-s-data"></i>
<span>echarts</span>
</template>
<el-menu-item index="/charts/gauge">仪表盘</el-menu-item>
<el-menu-item index="/charts/bar">柱状图</el-menu-item>
<el-menu-item index="/charts/line">折线图</el-menu-item>
</el-submenu>
</el-menu>
</el-aside>

第一种方法:

利用select事件函数传递path值,使用this.$router.push()进行路由跳转

说明一下这个方法我在<el-menu>的属性里没有加router属性,还有就是<el-menu-item>里的index属性要写上你将要跳转的路由地址

select绑定的方法里js代码这样写的↓

handleSelect(key, keyPath) {
this.$router.push({
path: key,
params: {data: 'query' }
})
}

这样就可以实现路由跳转了key就是你每次点击菜单传过来index的属性值

第二种方法:

就很简单了,在<el-menu>里加上router属性就可以了

看看官网怎么说的

默认true

这样就很方便,只要你<el-menu-item>里的index属性值正确就可以直接跳转了,不用再写js方法了

------------------------

这两种方法可以根据需求来选择,如果你跳到下个页面需要传值,那就用第一种方法

vue里使用element饿了么的el-menu+vue-router实现路由跳转的两种方法的更多相关文章

  1. Vue设置路由跳转的两种方法: <router-link :to="..."> 和router.push(...)

    一.<router-link :to="..."> to里的值可以是一个字符串路径,或者一个描述地址的对象.例如: // 字符串 <router-link to= ...

  2. vue跳转的两种方法

    1 标签跳转 <router-link to='two'><button>点我到第二个页面</button></router-link> 2 点击事件跳 ...

  3. vue中通过路由跳转的三种方式

    原文:https://blog.csdn.net/qq_40072782/article/details/82533477 router-view 实现路由内容的地方,引入组件时写到需要引入的地方需要 ...

  4. Vue 创建组件的两种方法

    地址:https://blog.csdn.net/cofecode/article/details/74634301 创建组件的两种方法 1.全局注册 2.局部注册 var child=Vue.ext ...

  5. 两种方法使vue实现jQuery调用

    引言 如果说vue是前端工程化使用较多的骨架,那么JavaScript就是我们的前端的细胞.MVVM模式让我们体验到前端开发的便携,无需再过多的考虑DOM的操作.而vue的渐进式开发(逐步引用组件,按 ...

  6. 解决vue项目eslint校验 Do not use 'new' for side effects 的两种方法

    import Vue from 'vue' import App from './App.vue' import router from './router' new Vue({ el: '#app' ...

  7. vue中使用echarts的两种方法

    在vue中使用echarts有两种方法一.第一种方法1.通过npm获取echarts npm install echarts --save 2.在vue项目中引入echarts 在 main.js 中 ...

  8. vue插件开发的两种方法:以通知插件toastr为例

    方法一: 1.写插件: 在 src 文件夹下面建 lib 文件夹用于存放插件,lib 文件夹下再建toastr文件夹,在toastr文件夹下新建 toastr.js 和 toastr.vue两个文件. ...

  9. 关于实现自定义Dialog和实现Dialog里view的事件监听的两种方法

    一.自定义dialog. 二.实现dialog里view的事件监听 1.自定义dialog比较简单.在实例化new的时候,加入样式,布局就行了.或者重写dialog. 2.实现dialog里view的 ...

随机推荐

  1. 如何开始阅读ASP.NET Core源代码

    背景 当我们对ASP.Net Core内部的某些方法.类的实现感兴趣时,有很多方法可以去了解,看书,看各种文章,但是最直接也是最深入的办法就是去阅读源代码.ASP.NET Core的源代码托管在Git ...

  2. Spring-cloud微服务实战【九】:分布式配置中心config

      回忆一下,在前面的文章中,我们使用了spring cloud eureka/ribbon/feign/hystrix/zuul搭建了一个完整的微服务系统,不管是队内还是对外都已经比较完善了,那我们 ...

  3. 彻底搞懂flex弹性盒模型布局

    为什么要用flex 基于css3简单方便,更优雅的实现,浏览器兼容性好,传统的css实现一个div居中布局要写一堆代码,而现在几行代码就搞定了,没有理由不用flex. 兼容性: Base Browse ...

  4. C# DateTime 工具类

    项目gitHub地址 点我跳转 今天给大家带来一个C#里面的时间工具类,具体的直接看下面代码 using System; namespace ToolBox.DateTimeTool { public ...

  5. jvm 内存结构

    jvm 内存结构 graph TB A(jvm)-->E(类加载器系统) A-->B(运行时数据区) A-->D(本地库接口) A-->C(执行引擎) B-->虚拟机栈 ...

  6. ES6 - 基础学习(8): Promise 对象

    概述 Promise是异步编程的一种解决方案,比传统的解决方案(多层嵌套回调.回调函数和事件)更强大也更合理.从语法上说,Promise是一个对象,从它可以获取异步操作的消息,Promise 还提供了 ...

  7. 异常 lock buffer failed for format 0x23

    02-11 21:21:45.669625 14804 14815 W Monkey : // java.lang.RuntimeException: lock buffer failed for f ...

  8. clr via c# 接口

    1,常用接口及其定义 public interface IDisposable{ void Dispose(); } public interface IEnumerable}{ IEnumerato ...

  9. GHM论文笔记(CVPR2019)

    目录 作者要解决的问题 Focal loss(CVPR2017) Focal loss的解决方案 Focal loss的不足 设计思路 梯度与样本的关系 梯度分布计算方法:将0-1的梯度切bin,计算 ...

  10. Android View的事件分发机制探索

    概述 Android事件传递机制也是Android系统中比较重要的一块,事件类型有很多种,这里主要讨论TouchEvent的事件在framework层的传递处理机制.因为对于App开发人员来说,理解f ...