最近准备写一个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. 中小企业自建云WAF有多难?只需20分钟!而且:全程免费!

    以往,运营型的web为了安全目的,才使用WAF进行安全防护. 而现如今,WAF对企业web来说,已然成了刚需.为何?等保.网络安全法的硬性要求! 当然,这样要求显然是对的:没有网络安全,就没有国家安全 ...

  2. SqlServer触发器的基础知识

    触发器的基础知识:create trigger tr_name on table/view{for | after | instead of } [update][,][insert][,][dele ...

  3. [Python]random生成随机6位验证码

    #!/usr/bin/env pyhton # coding:utf-8 # @Time : 2020-02-16 10:07 # @Author : LeoShi # @Site : # @File ...

  4. 使用Webpack的代码拆分在Vue中进行懒加载

    参考学习:https://alexjover.com/blog/lazy-load-in-vue-using-webpack-s-code-splitting/ 学习文案:https://webpac ...

  5. js位运算-按位非

    正数 取得二进制表示 取反(发现符号位是1,表示负数) 符号位不变,其余位取反 取反后加一 负数 取得负数的二进制表示(即绝对值的二进制反码加一) 取反即可

  6. Linux下通过二进制方式安装mysql5.7版本和系统优化

    本文主要介绍MySQL二进制软件包的安装/启动/关闭过程. 也许有人要问为什么要选择二进制的安装方式呢? 其实答案很简单,官方版本中已经把所有功能都配置好了,我们可以很方便地拿来使用. 官方MySQL ...

  7. clr via c# 运行时序列化

    1,快速了解序列化----windows IO 系统,FileStream,BinaryFormatter,SoapFormatter--不支持泛型. public class SerializeRe ...

  8. C++中的public、protected和private

    访问权限控制 一个类的public的成员变量.成员函数,可以通过类的实例变量进行访问. 一个类的protected的成员变量.成员函数,无法通过类的实例变量进行访问,但是可以通过类的友元函数.友元类进 ...

  9. 下拉菜单的jquery组件封装

    首先晒出封装好的dropdown.js (function($){ 'use strict';//使用严格模式 //构造函数形式 function Dropdown(elem,options){ // ...

  10. 全国省市,4个直辖市geoCoord数据,用于echart gl 3d地图

    var geoCoordMap = { '北京': [116.4551, 40.2539], '东城区':[116.418757,39.917544], '西城区':[116.366794,39.91 ...