vue 动态面包屑 通过面包屑带参数跨级跳转 面包屑动态标题 多级路由嵌套设置默认页面和隐藏左侧导航栏显示

2023-10-27

面包屑

实现效果

可以通过面包屑进行跨级跳转

以下为我的面包屑组件,breadcrumb.vue

<template>
  <div class="navbar clearfix">
    <el-breadcrumb class="breadcrumb-container" separator-class="el-icon-arrow-right">
      <el-breadcrumb-item > <span @click="back">返回</span> </el-breadcrumb-item>
      <el-breadcrumb-item v-for="item in levelList" :key="item.path" :to="item.path">{{item.meta.title}}</el-breadcrumb-item>
    </el-breadcrumb>
  </div>
</template>

<script>
  export default {
    name: 'Navbar',
    data() {
      return {
        levelList: []
      }
    },
    watch: {
      $route() {
        this.getBreadcrumb()
      }

    },
    created() {
      this.getBreadcrumb()
    },
    methods: {
      back() {
        this.$router.go(-1); //返回上一层
      },
      getBreadcrumb() {
        //$route.matched一个数组 包含当前路由的所有嵌套路径片段的路由记录
        let matched = this.$route.matched.filter(item => item.name)
        const first = matched[0];
        this.levelList = matched
      }
    }
  }
</script>

应用面包屑

在最外层的主页Home.vue中的js部分,其他可以自己补上

然后在主体上加上<router-view></router-view>标签存放内容

<script>
  import Breadcrumb from './navbar.vue'
  export default {
    components: {
      Breadcrumb
    }
}
</script>

动态面包屑

实现动态面包屑本人的方法不一定是最好的,但是比较方便.

var title = "想设置的标题";
this.$route.matched[this.$route.matched.length - 1].meta.title = title; //设置路由名称
            let path = this.$route.matched[this.$route.matched.length - 1].path;
            if (path.indexOf("?") > 0) {
              this.$route.matched[this.$route.matched.length - 1].path = path.split("?")[0] + "?id=" +
                id;
            } else {
              this.$route.matched[this.$route.matched.length - 1].path = path + "?id=" + id; //设置路由路径
            }

把这段代码添加在需要实现的页面就自动会在跳转的时候将面包屑的名称更改

路由

多级路由嵌套设置默认页面 只需要把默认的子路由的path项设定为空

以下为路由的索引页./route/index.js的实例

import Vue from 'vue'
import Router from 'vue-router'

Vue.use(Router);

export default new Router({
  routes: [{
      path: '/',
      name: 'Login',
      component: resolve => require(['@/components/Login'], resolve),
      hidden: true //表示在左侧导航栏隐藏
    },
    {
      path: '/home.html',
      name: '一级',
      component: resolve => require(['@/components/Home'], resolve),
      iconCls: "el-icon-menu",
      meta: {
        title: '一级',
        keepAlive: false, // 不需要缓存
        requireAuth: true //表示进入这个路由是需要登录的
      },
      children: [
        {
          path: '/feedback.html',
          component: resolve => require(['@/components/user/feedback'], resolve),
          name: '二级',
          meta: {
            title: '二级',
            keepAlive: false, // 不需要缓存
            requireAuth: true // 添加该字段,表示进入这个路由是需要登录的
          },
            children: [{
          path: '',//这里设置为空
          component: resolve => require(['@/components/user/userChildren'], resolve),
          name: '三级',
          meta: {
            title: '三级',
            keepAlive: false, // 不需要缓存
            requireAuth: true // 添加该字段,表示进入这个路由是需要登录的
          }
        }
      ]
        }
      ]
    }
  ]
})

多路由嵌套

需要注意的是,每个子路由都需要对应一个 <router-view></router-view>标签来存放

我新建了一个main.vue来存放多路由嵌套多个界面

<template>
  <keep-alive>
    <router-view :key="Math.random()"></router-view>
  </keep-alive>
</template>
<script>
</script>
<style>
</style>

/route/index.js里面设置的title就是面包屑显示的名字

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

vue 动态面包屑 通过面包屑带参数跨级跳转 面包屑动态标题 多级路由嵌套设置默认页面和隐藏左侧导航栏显示 的相关文章

  • 深入 AXI4 总线(一)握手机制

    VALID READY 握手机制 AXI 总线共有 5 个独立的通道 分别为写地址 写数据 写回应 读地址 读数据通道 5 条通道相互独立 有一些细小的差别 但共同使用一套握手机制 VALID READY 机制 VALID READY 机制
  • 笔记: C语言中的骚操作 (带参宏定义及三目运算实例)

    带参宏定义及三目运算实例 带参宏定义 就是带参数的宏定义 类似函数 三目运算 A B C 即 A为真 则输出B 为假则输出C n 1输出高电平 define CON1 1 PC12 n n HAL GPIO WritePin GPIOC G

随机推荐

  • 2022年度游戏本行业数据报告:十大热门品牌销量排行榜

    2022年游戏本市场的总体局面是 产品竞争极为激烈 同时又各具特色卖点 今年的游戏本市场 市场格局并未有较大的变化 但是新技术 新产品层出不穷 各个游戏本厂商们通过不断创新 提升产品性能 推出了体验感更好的产品 满足了用户不同场景的应用需求
  • HTTP协议和编程实现

    1 HTTP协议 http协议是建立在TCP IP协议之上应用层协议 默认端口为80或者8080 http协议的的特点是无状态 无连接 在访问数据的时候才进行连接 不是长连接 http协议的报文传输的是ASCII码 在TCP IP协议之上
  • 面向对象程序设计的几个基本概念

    面向对象程序设计由6个概念组成 1 类 它是每一个Java程序的基本结构 它包含数据域和数据操作机制 类提供了创建这些软件对象的模板 2 对象 对象是以类为模板创建的实例 以各类可以用来生成任意多个对象 3 封装性 允许或禁止访问类或对象的
  • Centos7 Shell脚本监控磁盘容量实现钉钉告警

    前言 此脚本用来监控服务器磁盘容量实现钉钉告警功能 一 编写Shell脚本 创建脚本存放目录 存放在 data shell 下 mkdir p data shell vim data shell DingTalk Alert bin bas
  • 七款好用的项目管理软件

    TeamLab 它是一个在线商业协作和项目管理的平台 主要功能包括 项目管理 里程碑管理 任务 报表 事件 博客 论坛 书签 Wiki 即时消息等 TeamLab是专为中小型企业 团队打造的系统 使用SaaS解决方案的网站 也就是说 您可以
  • linux 部署Django + apache2 + python3

    之前在本地部署了Django的restful应用Django 从零开始实现简单的restful应用 现在把它部署到服务器上 安装 在部署过程中 很多需要的东西之前已经安装好 所以 python 3 我的服务器是ubuntu 16 04 预装
  • Head First Design Mode(2)-设计模式入门(策略模式)

    该系列文章系个人读书笔记及总结性内容 任何组织和个人不得转载进行商业活动 设计模式入门 欢迎来到设计模式世界 我们会看到设计模式的用途和优点 再看看关键的OO原则 通过实例来了解模式是如何运作的 以往是代码复用 现在是经验复用 模拟鸭子的应
  • Character Encoding Issues(good!!!)

    Character Encoding Issues Questions Why What is the default character encoding of the request or response body Why does
  • 【Verilog-26】Net线路连接

    Net是结构描述中为线路连接 连线和接线 建立的模型 net的值是由net的驱动所决定的 驱动器可以是门 UDP 实例模块或者连续赋值语句的输出 语法 1 supply0和supply1类型的net变量分别具有逻辑值0和1 并可以为它定义驱
  • linuxfb简单说明

    framebuffer简介 Linux framebuffer dev fb 是用来屏蔽图形显示硬件的抽象层 如果不对硬件进行抽象屏蔽 不同硬件显卡 可能需要编写不同的驱动和应用程序 而引入framebuffer进行统一的抽象后 开发人员可
  • 【从零开始写博客】链表运用:链表的增删查改及反转(day3)

    代码随想录刷题60天 数组 day2 数组 day1 目录 链表概述 一 链表增删地初次理解 二 链表常见六个操作 三 链表的转置 总结 链表概述 链表是通过指针将一个个节点串起来的数据结构 其优点是增删方便 灵活性强 以下将结合leetc
  • Maven插件开发及Demo演示

    引言 maven不仅仅只是项目的依赖管理工具 其强大的核心来源自丰富的插件 可以说插件才是maven工具的灵魂 本篇文章将对如何自定义maven插件进行讲解 希望对大家有所帮助 背景 讲如何开发maven插件之前 不妨先来聊一下什么是mav
  • Spring: 事务传播机制

    文章目录 1 美图 2 Transactional 注解的属性信息 3 案例 3 1 建表 3 2 项目结构 3 3 配置 3 4 config 3 5 实体类 3 5 业务类 3 6 测试类 3 REQUIRED 4 NOT SUPPOR
  • python接口自动化(十二)--https请求(SSL)(详解)

    简介 本来最新的requests库V2 13 0是支持https请求的 但是一般写脚本时候 我们会用抓包工具fiddler 这时候会 报 requests exceptions SSLError SSL CERTIFICATE VERIFY
  • MySQL简单命令和SELECT查询,给字段起别名【MySQL数据库】

    Java养成计划 学习打卡第六十四天 内容导航 数据库的相关操作 数据库的导入 查看导入数据库中的表 查看表中的数据 查看表的基本结构 简化 查看表的结构 详细 查看mysql数据库的版本号 查询当前使用的数据库 退出mysql SQL查询
  • C#常见的两种错误

    一 WindowsFormsApplication2 Form1 不包含 Form1 Load 的定义 并且找不到可接受类型为 WindowsFormsApplication2 Form1 的第一个参数的扩展方法 Form1 Load 是否
  • 小程序上传发布

    1 上传发布 一个小程序从开发完到上线一般要经过 预览 gt 上传代码 gt 提交审核 gt 发布等步骤 2 预览 使用开发者工具可以预览小程序 帮助开发者检查小程序在移动客户端上的真实表现 点击开发者工具顶部操作栏的预览按钮 开发者工具会
  • Linux终端退出程序不退出解决方案(nohup/screen)

    终端异常退出后 后台进程不关闭的解决办法 1 使用nohup命令 nohup
  • android:installLocation简析

    文章来源 http www cnblogs com Lefter archive 2012 03 07 2383962 html 在Froyo android 2 2 API Level 8 中引入了android installLocat
  • vue 动态面包屑 通过面包屑带参数跨级跳转 面包屑动态标题 多级路由嵌套设置默认页面和隐藏左侧导航栏显示

    面包屑 实现效果 可以通过面包屑进行跨级跳转 以下为我的面包屑组件 breadcrumb vue