1.路由的作用

1.当我们有多个页面的时候 ,我们需要使用路由,将组件(components)映射到路由(routes),然后告诉 vue-router 在哪里渲染它们。

简单的路由

const routes = [{ path: '/foo', component: Foo },{ path: '/bar', component: Bar }
]// 3. 创建 router 实例,然后传 `routes` 配置
// 你还可以传别的配置参数, 不过先这么简单着吧。
const router = new VueRouter({routes // (缩写)相当于 routes: routes
})// 4. 创建和挂载根实例。
// 记得要通过 router 配置参数注入路由,
// 从而让整个应用都有路由功能
const app = new Vue({router
}).$mount('#app')

动态路由
一个『路径参数』使用冒号 : 标记。当匹配到一个路由时,参数值会被设置到 this.$route.params,可以在每个组件内使用。于是,我们可以更新 User 的模板,输出当前用户的 ID:

const User = {template: '<div>User</div>'
}const router = new VueRouter({routes: [// 动态路径参数 以冒号开头{ path: '/user/:id', component: User }]
})

潜套路由

const router = new VueRouter({routes: [{ path: '/user/:id', component: User,children: [{// 当 /user/:id/profile 匹配成功,// UserProfile 会被渲染在 User 的 <router-view> 中path: 'profile',component: UserProfile},{// 当 /user/:id/posts 匹配成功// UserPosts 会被渲染在 User 的 <router-view> 中path: 'posts',component: UserPosts}]}]
})

子节点的router 会渲染到父节点User router-view 里面

router.push、 router.replace 和 router.go
想要导航到不同的 URL,则使用 router.push 方法。这个方法会向 history 栈添加一个新的记录,所以,当用户点击浏览器后退按钮时,则回到之前的 URL。

router-link :to="{ name: 'user', params: { userId: 123 }}">User</router-link>
router.push({ name: 'user', params: { userId: 123 }})

2.命名视图

一个 layout 布局展示

<router-view class="view one"></router-view>
<router-view class="view two" name="a"></router-view>
<router-view class="view three" name="b"></router-view>const router = new VueRouter({routes: [{path: '/',components: {default: Foo,a: Bar,b: Baz}}]
})

命名视图中我们需要注意的地方,在props路由传值上面 对于包含命名视图的路由,你必须分别为每个命名视图添加 props 选项

const User = {props: ['id'],template: '<div>User {{ id }}</div>'
}
const router = new VueRouter({routes: [{ path: '/user/:id', component: User, props: true },// 对于包含命名视图的路由,你必须分别为每个命名视图添加 `props` 选项:{path: '/user/:id',components: { default: User, sidebar: Sidebar },props: { default: true, sidebar: false }}]
})

3.深入理解路由

路由的配置
declare type RouteConfig = {path: string;component?: Component;name?: string; // 命名路由components?: { [name: string]: Component }; // 命名视图组件redirect?: string | Location | Function;props?: boolean | string | Function;alias?: string | Array<string>;children?: Array<RouteConfig>; // 嵌套路由beforeEnter?: (to: Route, from: Route, next: Function) => void;meta?: any;// 2.6.0+caseSensitive?: boolean; // 匹配规则是否大小写敏感?(默认值:false)pathToRegexpOptions?: Object; // 编译正则的选项
}

后面实际应用中,在补充一下文档----目前都是看官方文档

手把手教你学Vue-3(路由)相关推荐

  1. 第11章 UART 串口通信(手把手教你学51单片机pdf部分)

    手把手教你学51单片机-C语言版.pdf  

  2. python global用法_14_手把手教你学Python之函数(下)

    变量作用域:根据变量定义的位置,可将变量分为全局变量和局部变量. 全局变量:定义在函数外面的变量,可以在多个函数中进行访问,但不能执行赋值操作.如果有赋值语句,相当于创建了一个同名的局部变量: 局部变 ...

  3. 手把手教你学Dapr - 5. 状态管理

    介绍 使用状态管理,您的应用程序可以将数据作为键/值对存储在支持的状态存储中. 您的应用程序可以使用 Dapr 的状态管理 API 使用状态存储组件来保存和读取键/值对,如下图所示.例如,通过使用 H ...

  4. oracle数据库更新语句_20_手把手教你学Python之操作数据库

    数据库是数据的仓库,将大量数据按照一定的方式组织并存储起来,方便进行管理和维护,例如快速检索和统计等.数据库的主要特点: 以一定的方式组织.存储数据: 能为多个用户共享: 与程序彼此独立. -- 数据 ...

  5. c++从入门到精通_资料下载:从入门到精通,手把手教你学DSP

    学习一个东西首先是了解它,比如DSP到底是什么?用在什么地方?怎么用?和单片机特点有那些相同与不同?开发需要注意什么?想了解清楚这些问题自然就清楚比较清楚的认识DSP.DSP,因为它是用来做数据处理, ...

  6. 手把手教你学dsp_新课免费看| 手把手教你学DSP,C2000从入门到精通

    课程简介: 目前,国内许多高校针对相关专业的本科生及硕士生已经开设了基于C2000系列的DSP应用课程,并建立了DSP重点实验室:许多企业也正在对C2000系列处理器进行开发和应用研究,因此迫切需要这 ...

  7. python中字典的value可以为任意对象_手把手教你学Python之字典

    字典是一种无序可变的容器,字典中的元素都是"键(key):值(value)"对, "键"和"值"之间用冒号隔开,所有"键值对&qu ...

  8. 手把手教你学Python之波士顿房价预测(scikit-learn的应用)

    目录 1.波士顿房价预测介绍 2.线性回归算法 3.调用scikit-learn库实现房价预测 1.波士顿房价预测介绍 问题描述:波士顿房价数据集统计的是20世纪70年代中期波士顿郊区房价的中位数,统 ...

  9. 模板匹配、抓圆、抓边、二维码 零基础labview视觉培训教程《龙哥手把手教你学视觉》只有不会教的老师,没有学不会的学生

    <龙哥手把手教你学视觉>周末班招生简章 教师简介: 江湖人称-龙哥,使用LabVIEW开发了大量视觉检测.运动控制.数据采集方面软件,具有丰富的非标自动化设备经验.www.ni-visio ...

  10. 正点原子linux驱动教程,正点原子 手把手教你学Linux之驱动开发篇

    简 介 该课程是正点原子手把手教你学Linux系列课程,该课程配套开发板为正点原子alpha/mini Linux开发板. 手把手教你学Linux之驱动开发篇: 第1讲 Linux驱动开发与裸机开发区 ...

最新文章

  1. [NCTF2019]Reverse
  2. 用SHELL脚本来防SSH和vsftpd暴力破解(第②版)
  3. python爬虫常见反爬措施_爬虫常见的反爬措施有哪些
  4. Unity3D打包后日志文件输出目录
  5. linux shell express,Linux下使Shell 命令脱离终端在后台运行
  6. 深搜(DFS),Image Perimeters
  7. 70. Climbing Stairs【leetcode】递归,动态规划,java,算法
  8. 快压下载|快压软件官方下载
  9. 吉他音阶训练入门教程——问题解答(一)
  10. 尝试Android的毛玻璃(Blur)效果
  11. 服务器虚拟化厂商有哪些,国内外厂商的桌面虚拟化产品
  12. 新版Win10开机任务栏卡死的原因和解决方法
  13. Java:实现Ternary search三元搜索算法(附完整源码)
  14. 语义分割之边缘准确率提升
  15. ABAQUS 求解应力强度因子
  16. ElasticSearch常用插件整理
  17. 《雪盈王》,一本漫画,一个游戏,一场梦……
  18. 开源一个健身学习相关的APP,类似Keep
  19. cpu-z中如何查看内存的频率和内存插槽的个数?
  20. 学会Squid之传统代理和透明代理一篇就够了!

热门文章

  1. idea 设置光标回到上一次位置的快捷键
  2. sap data service安装方法
  3. Redhat linux5.5下Oracle 10g 安装配置手册一
  4. HTML5 Canvas translate与rotate应用
  5. [推荐]最强最全的电脑硬件知识
  6. 中蒙最大陆路口岸2018年运行中欧班列1052列
  7. Reverse Linked List(leetcode206)
  8. Win8Metro(C#)数字图像处理--2.3图像反色
  9. iptables自定义链增加和删除
  10. React.js 小书 Lesson12 - state vs props