Vue-router(3)之 router-link 和 router-view 使用
router 导入
import Vue from 'vue'
import Router from 'vue-router'
import order from '@/view/New/order.vue'
import Son1 from '@/view/New/son1.vue'
import Son2 from '@/view/New/son2.vue'
import Son3 from '@/view/New/son3.vue' Vue.use(Router) export default new Router({
linkActiveClass: 'u-link--Active', // 这是链接激活时的class
routes: [
{ path: '/', redirect: '/4' },
{ path: '/4', name: 'order',redirect: '/4/son1', component: order, children: [
{ path: '/4/son1', name: "son1", component: Son1 },
{ path: '/4/son2', name: "son2", component: Son2 },
{ path: '/4/son3', name: "son3", component: Son3 }
]}
]
})
order.vue
<template>
<div class="detail">
<div class="box">
<p>父组件</p>
<router-link to="/4/son1" active-class="u-link--Active">首页</router-link>
<router-link to="/4/son2" active-class="u-link--Active">电影</router-link>
<router-link to="/4/son3" active-class="u-link--Active">关于</router-link>
</div>
<!-- 这是一个占位符,将来,通过路由规则,匹配到的组件,会被替换到 router-view 所在的位置 -->
<router-view></router-view>
</div>
</template> <style lang="less" scoped>
.detail {
margin: 5px;
padding: 10px;
border: 2px dashed salmon;
height: 400px;
background-color: #f6f6f6;
.box {
margin: 5px;
padding: 10px;
border: 2px dashed blue;
p {
color: salmon;
}
.u-link--Active {
color: aqua;
}
}
}
</style>
son.vue:
<template>
<div>
<h1>这是son1.vue 首页 子组件</h1>
</div>
</template> <style lang="less" scoped>
div {
margin: 5px;
padding: 10px;
border: 2px dashed red;
h1 {
font-size: 26px;
font-weight: 700;
color: orange;
}
}
</style>
son2:
<template>
<div>
<h1>这是son2.vue 电影 子组件</h1>
</div>
</template> <style lang="less" scoped>
div {
margin: 5px;
padding: 10px;
border: 2px dashed blue;
h1 {
font-size: 26px;
font-weight: 700;
color: red;
}
}
</style>
son3:
<template>
<div>
<h1>这是son3.vue 关于子组件</h1>
</div>
</template> <style lang="less" scoped>
div {
margin: 5px;
padding: 10px;
border: 2px dashed green;
h1 {
font-size: 26px;
font-weight: 700;
color: palevioletred;
}
}
</style>
路由规则的匹配过程
用户点击 页面的 路由链接
router-link,点击的一瞬间,就会修改浏览器地址栏中的Hash地址;当 hash 地址被修改以后,会立即被
vue-router监听到,然后进行 路由规则的 匹配;最终,找到 要显示的组件;当 路由规则匹配成功以后,就找到了要显示的组件,然后把这个组件,替换到页面指定的路由容器
router-view中
设置路由高亮的两种方式和重定向
通过路由默认提供的
router-link-active, 为这个类添加自己的高亮样式即可;通过路由构造函数,在传递路由配置对象的时候,提供
linkActiveClass属性,来覆盖默认的高亮类样式;
测试:

Vue-router(3)之 router-link 和 router-view 使用的更多相关文章
- vue 组件开发、vue自动化工具、axios使用与router的使用(3)
一. 组件化开发 1.1 组件[component] 在网页中实现一个功能,需要使用html定义功能的内容结构,使用css声明功能的外观样式,还要使用js定义功能的特效,因此就产生了一个功能先关的代码 ...
- [ vue ] quasar框架踩坑:在vue文件外导入路由,执行router.push('/')没有效果
问题描述: 1. 如图所示的项目结构目录, axios.js 文件负责拦截全局请求和回复,我在拦截回复的代码中写了:如果服务器回复了一个401错误,则执行Router.push('/'),但是该方法失 ...
- 【Vue】【Router】手动跳转用 this.$router.push() 时 $router 未定义的问题
初入Vue,手写路由跳转时的问题: toXxxRoute: () => { this.$router.push({'path': '/xxx', 'name': 'xxx'}) } 由于使用了箭 ...
- Vue.js 的几点总结Watchers/router key/render
Vue.js 的几点总结,下面就是实战案例,一起来看一下. 第一招:化繁为简的Watchers 场景还原: 1 2 3 4 5 6 7 8 created(){ this.fetchPostLis ...
- [React Router v4] Style a Link that is Active with NavLink
We often need to be able to apply style to navigation links based on the current route. In React Rou ...
- vue路由中 Navigating to current location ("/router") is not allowed
报错原因:多次点击同一路由,导致路由被多次添加 解决方法: router/index中添加以下代码: //router/index.js Vue.use(VueRouter) //导入vue路由 co ...
- vue项目苹果微信端使用this.$router.go(-1)返回上一页,上一页并不会重新加载的问题
window.addEventListener('pageshow', function(e) { // 通过persisted属性判断是否存在 BF Cache if (e.persisted) { ...
- [React Router] Prevent Navigation with the React Router Prompt Component
In this lesson we'll show how to setup the Prompt component from React Router. We'll prompt with a s ...
- [Angular Router] Lazy loading Module with Auxiliary router
Found the way to handle Auxiliary router for lazy loading moudle and erge load module are different. ...
- 聊聊 Vue 的双向数据绑定,Model 如何改变 View,View 又是如何改变 Model 的
todo defineProperty() 参考: https://www.cnblogs.com/wangjiachen666/p/9883916.html
随机推荐
- 045、Java中使用if语句进行判断
01.代码如下: package TIANPAN; /** * 此处为文档注释 * * @author 田攀 微信382477247 */ public class TestDemo { public ...
- IQueryable 转DataTable
public static DataTable CopyToDataTable<T>(IEnumerable<T> array) { var ret = new DataTab ...
- Day 31:CSS选择器、常用CSS样式、盒子模型
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- Exchange 导出用户邮箱
应用场景: 1.需要把某个用户的邮箱内容全部导出来,提供给审计或监察部门. 2.跨平台的迁移,从第三方的邮件系统迁移到exchange.其中一种迁移方式就是把用户批量导出为PST,然后在exchang ...
- CSS - 美化字体 => CSS的-font-smoothin属性优化
body{ margin: 0; font-family: Arial, Helvetica, sans-serif; line-height: 1.2em; back ...
- 045-利用反射机制,简单的实现PHP插件模式
<?php //利用反射机制,简单的实现PHP插件模式 # 假设,我们有一款开源产品,所有开发者都必须在我定制的需求之上,进行二次开发, # 而开发完成后的新模块,就是一个不一样的新插件,可以放 ...
- VIJOS-P1282 佳佳的魔法照片 排序
Description 一共有n(n≤20000)个人(以1--n编号)向佳佳要照片,而佳佳只能把照片给其中的k个人.佳佳按照与他们的关系好坏的程度给每个人赋予了一个初始权值W[i].然后将初始权值从 ...
- nosql的介绍以及和关系型数据库的区别
一直对非关系型数据库和关系型数据库的了解感觉不太深入,在网上收集了一些关于sql和nosql的区别和优缺点分享给大家. Nosql介绍 Nosql的全称是Not Only Sql,这个概念早起就有人提 ...
- 找《飘》 中最常用的N个单词。
找<飘> 中最常用的N个单词. 1,题目:输出单个文件(<飘> 英文版)中的前 N 个最常出现的英语单词,并将结果输入到文本文件中. 2,设计思路: 1),按行依次读取文件并按 ...
- CCCC L2-004. 这是二叉搜索树吗?
题意: 一棵二叉搜索树可被递归地定义为具有下列性质的二叉树:对于任一结点, 其左子树中所有结点的键值小于该结点的键值: 其右子树中所有结点的键值大于等于该结点的键值: 其左右子树都是二叉搜索树. 所谓 ...