1, 新建vue-router 项目

vue init webpack vue-router-test

是否创建路由: 是

2, 添加路由列表页

在 component下创建 NavList 页面

<template><div><div class="navlist"><ul><li><router-link :to="index">首页</router-link></li><li><router-link :to="course">课程</router-link></li><li><router-link :to="master">专家</router-link></li></ul></div></div>
</template><script>export default {name: "NavList",data() {return {index: "/",course: "/course",master: "/master",}}}
</script><style scoped>.navlist {width: 100%;height: 50px;background: #f1f1f1;}ul {list-style: none;}li {float: left;margin: 20px;}
</style>

3, 添加子页面

index.vue, master.vue, course.vue等, 仅展示 index.vue

<template><div><NavList/>首页</div>
</template><script>import NavList from "./NavList";export default {name: "index",components: {NavList},data() {return {}}}
</script><style scoped></style>

4, 在index.js 中导入子页面, 配置路径和页面关系

import Vue from 'vue'
import Router from 'vue-router'
import index from '@/components/index'
import Course from '@/components/course'
import Master from '@/components/master'
import Java from '@/components/course/java'
import Python from '@/components/course/python'Vue.use(Router)export default new Router({routes: [{path: '/',name: 'index',component: index},{path: '/course',name: 'Course',component: Course,},{path: '/master',name: "Master",component: Master}]
})

5, 在app vue 中, 添加路由显示位置

router-view

<template><div id="app"><!--<img src="./assets/logo.png">--><!--<NavList/>--><router-view/></div>
</template>

6, 使用 npm run dev 运行, 即可看到初始效果

7, 路由嵌套

有时候, 在二级页面下还需要新的子页面, 就需要使用路由嵌套功能

7.1) 在 component中添加 java.vue, python.vue 等子页面

<template><div>java</div>
</template><script>export default {name: "java"}
</script><style scoped></style>

7.2), 在course 中 引入路由嵌套

使用 router-link 进行页面跳转

添加 router-view 指定显示区域

路径导航使用全路径

<template><div><NavList/><div class="left"><ul><li><router-link :to="java">java</router-link></li><li><router-link :to="python">python</router-link></li><li>bigdata</li></ul></div><div class="right">视图区域<router-view/></div></div>
</template><script>import NavList from "./NavList";export default {name: "course",components: {NavList},data() {return {java: "/course/java",python: "/course/python",}}}
</script><style scoped>.left, .right {float: left;}.left {margin-left: 0;}.right {margin-left: 50px;}
</style>

7.3) 在index.js 中指定 子嵌套关系

使用 redirect 指定一开始进入的默认页面

{path: '/course',name: 'Course',component: Course,// 默认进入重定向redirect: "/course/java",// 子嵌套
      children: [{path: "java",name: "Java",component: Java},{path: "python",name: "Python",component: Python}]},

8, 参数传递

在vue中, 可以通过参数传递, 将值或者对象传递给路由子页面

8.1) 定义要传递的对象

data() {return {index: "/",course: "/course",master: "/master",obj: {name: "wenbronk",age: 18}}}

8.2), 在 router-link 中, 使用 :to={} 的形式进行传递参数

<li><router-link :to="{ name: 'Master', params:{count: 100, type: obj}}">专家</router-link></li>

8.3) 在 master 页面, 接受参数

<template><div>专家: {{ $route.params.count }} - {{ $route.params.type.name }}</div>
</template><script>export default {name: "master"}
</script><style scoped></style>

9, 路由高亮, 实现点击的呈现高亮效果

9.1), 在index.js 中, 添加 路由选中class名

默认是 router-link-active, 更改

  mode: "history",linkActiveClass: "active",

9.2), 在全局中配置, css 样式

  .active {color: red}

9.3), 对于匹配 / 的, 会始终显示高亮, 需要添加 exact 属性;

 <li><router-link :to="index" exact>首页</router-link></li>

vue-11-路由嵌套-参数传递-路由高亮相关推荐

  1. vue——路由之路由跳转、路由传参、路由嵌套、路由模式

    相关认识: 后端路由:对于前端的网络请求,不同的pathname,去执行后端的不同业务 前端路由:不同的网址对应各自的页面 vue的前端路由:SPA应用要做出路由效果,就得判断当前网址,然后切换组件 ...

  2. Vue3(撩课学院)笔记07-vueRouter路由,创建路由,路由重定向,路由跳转,动态路由,路由懒加载,路由嵌套,路由参数穿传递的两种形式,通过事件来跳转路由

    1.vueRouter路由的两种模式 哈希模式:以#号分割,前端路由一般用hash模式比较多,可以兼容ie8以上,井号后面不发起请求 历史模式:putstate()和replaceState()方法入 ...

  3. Vue.js-Day05【安装路由(vue-router)、如何使用vue-router、404配置、激活class、动态路由、编程式导航、路由嵌套、路由元信息、导航拦截】

    Vue.js实训[基础理论(5天)+项目实战(5天)]博客汇总表[详细笔记] 目   录 1.单页面应用 1.1.多页面应用 1.2.单页面应用 1.3.vue-router 2.安装vue-rout ...

  4. vue 路由嵌套(二级路由)

    路由嵌套就是在父路由配置好后,配置一个children属性,里面放置的的内容跟routes属性下面的内容大体一样,这就是二级路由的配制方法. 嵌套路由的关键字children,在父路由中添加child ...

  5. router-view、router-link属性、动态路由的使用、路由嵌套、路由传参

    1.router-view可以理解为一个占位符,用来给 当前url映射的组件 占位的,当前url映射的组件 会替换掉 2.router-link是一个全局组件,可以在任何一个vue组件中使用 3.动态 ...

  6. Vue(小码哥王洪元)笔记06路由,url的hash,history,router-linke,路由跳转,动态路由,懒加载,路由嵌套,router参数传递,导航守卫

    1.什么是路由 路由器提供了两种机制:路由和传送 路由:数据报从来源到目的地的路径 传输:将输入端的数据转移到合适的输出端 路由有一个非常重要的概念教路由表 路由表本质上就是一个映射表,决定了数据包的 ...

  7. vue-router 路由嵌套显示不出来_45. Vue路由vuerouter的基本使用

    前言 在使用vue-router之前,首先要认识一下前端路由和后端路由的区别概念. 什么是路由 「后端路由」:对于普通的网站,所有的超链接都是URL地址,所有的URL地址都对应服务器上对应的资源: 例 ...

  8. Vue Router路由嵌套

    路由嵌套分析 点击父级路由链接显示模板内容 模板内容中又有子级路由链接 点击子级路由链接显示子级模板内容 默认显示 点击 hello链接显示 本身的组件外,还显示了自身下的子组件 嵌套路由用法 父路由 ...

  9. 059——VUE中vue-router之路由嵌套在文章系统中的使用方法:

    <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8" ...

最新文章

  1. python3.x 使用正则表达式拆分字符串并换行显示
  2. 显示设备不属于微型计算机的外部设备,微型计算机常用外部设备试题解析
  3. 【NLP】四万字全面详解 | 深度学习中的注意力机制(四,完结篇)
  4. eclipse 快捷键大全
  5. 自定义hybris生成订单的ID格式
  6. JAVA常见的RuntimeException
  7. 欧盟批准ATT收购时代华纳 或年底前完成交易
  8. booststraping
  9. mysql group commit_MySQL5.7 核心技术揭秘:MySQL Group Commit-阿里云开发者社区
  10. 最好用的数据可视化神器,没有之一
  11. 多态和C++多态的实现(汇总)
  12. 标签布局Tab与TabHost详细教程
  13. lme4:用于混合效应模型分析的R包
  14. 网易邮箱服务器邮箱协议,网易邮箱全面支持Exchange协议
  15. Qt图形视图框架:QGraphicsView 详解
  16. iphone13电话噪音大怎么办 苹果13怎么设置电话降噪
  17. 单片机C语言流水灯花样编程,单片机C语言程序设计:花样流水灯
  18. win7摄像头软件_GIF图片编辑、剪切、缩帧软件,ScreenToGif
  19. java简单实现布谷鸟过滤器的
  20. oracle体育成绩字段,在Excel中利用自定义函数处理体育达标成绩

热门文章

  1. TCP/UDP,SOCKET,HTTP,FTP协议简析
  2. python pickle模块
  3. Coursera课程Python for everyone:chapter8
  4. 图像几何变换:旋转,缩放,斜切
  5. Emacs常用快捷键
  6. 2015年浪潮面试题
  7. OpenJ_Bailian 4148 生理周期
  8. Netty系列(三):说说NioEventLoop
  9. 你们可能都小看了Windows!
  10. nginx(一)安装与命令总结