vue-11-路由嵌套-参数传递-路由高亮
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-路由嵌套-参数传递-路由高亮相关推荐
- vue——路由之路由跳转、路由传参、路由嵌套、路由模式
相关认识: 后端路由:对于前端的网络请求,不同的pathname,去执行后端的不同业务 前端路由:不同的网址对应各自的页面 vue的前端路由:SPA应用要做出路由效果,就得判断当前网址,然后切换组件 ...
- Vue3(撩课学院)笔记07-vueRouter路由,创建路由,路由重定向,路由跳转,动态路由,路由懒加载,路由嵌套,路由参数穿传递的两种形式,通过事件来跳转路由
1.vueRouter路由的两种模式 哈希模式:以#号分割,前端路由一般用hash模式比较多,可以兼容ie8以上,井号后面不发起请求 历史模式:putstate()和replaceState()方法入 ...
- 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 ...
- vue 路由嵌套(二级路由)
路由嵌套就是在父路由配置好后,配置一个children属性,里面放置的的内容跟routes属性下面的内容大体一样,这就是二级路由的配制方法. 嵌套路由的关键字children,在父路由中添加child ...
- router-view、router-link属性、动态路由的使用、路由嵌套、路由传参
1.router-view可以理解为一个占位符,用来给 当前url映射的组件 占位的,当前url映射的组件 会替换掉 2.router-link是一个全局组件,可以在任何一个vue组件中使用 3.动态 ...
- Vue(小码哥王洪元)笔记06路由,url的hash,history,router-linke,路由跳转,动态路由,懒加载,路由嵌套,router参数传递,导航守卫
1.什么是路由 路由器提供了两种机制:路由和传送 路由:数据报从来源到目的地的路径 传输:将输入端的数据转移到合适的输出端 路由有一个非常重要的概念教路由表 路由表本质上就是一个映射表,决定了数据包的 ...
- vue-router 路由嵌套显示不出来_45. Vue路由vuerouter的基本使用
前言 在使用vue-router之前,首先要认识一下前端路由和后端路由的区别概念. 什么是路由 「后端路由」:对于普通的网站,所有的超链接都是URL地址,所有的URL地址都对应服务器上对应的资源: 例 ...
- Vue Router路由嵌套
路由嵌套分析 点击父级路由链接显示模板内容 模板内容中又有子级路由链接 点击子级路由链接显示子级模板内容 默认显示 点击 hello链接显示 本身的组件外,还显示了自身下的子组件 嵌套路由用法 父路由 ...
- 059——VUE中vue-router之路由嵌套在文章系统中的使用方法:
<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8" ...
最新文章
- python3.x 使用正则表达式拆分字符串并换行显示
- 显示设备不属于微型计算机的外部设备,微型计算机常用外部设备试题解析
- 【NLP】四万字全面详解 | 深度学习中的注意力机制(四,完结篇)
- eclipse 快捷键大全
- 自定义hybris生成订单的ID格式
- JAVA常见的RuntimeException
- 欧盟批准ATT收购时代华纳 或年底前完成交易
- booststraping
- mysql group commit_MySQL5.7 核心技术揭秘:MySQL Group Commit-阿里云开发者社区
- 最好用的数据可视化神器,没有之一
- 多态和C++多态的实现(汇总)
- 标签布局Tab与TabHost详细教程
- lme4:用于混合效应模型分析的R包
- 网易邮箱服务器邮箱协议,网易邮箱全面支持Exchange协议
- Qt图形视图框架:QGraphicsView 详解
- iphone13电话噪音大怎么办 苹果13怎么设置电话降噪
- 单片机C语言流水灯花样编程,单片机C语言程序设计:花样流水灯
- win7摄像头软件_GIF图片编辑、剪切、缩帧软件,ScreenToGif
- java简单实现布谷鸟过滤器的
- oracle体育成绩字段,在Excel中利用自定义函数处理体育达标成绩