文章目录
- 1. 搭建路由组件
- 1.1 安装 vue-router
- 1.2 配置路由
 
- 2. 使用路由
- 3. 路由的跳转
- 3.1 声明式导航
- 3.2 编程式导航
 
- 4. 路由传参
- 4.1 路由传递参数 : 字符串形式
- 4.2 路由传递参数 : 对象写法
- 4.3 路由传参相关面试题
 
- 5. meta 使用
- 6. 重写 push 和 replace 方法
1. 搭建路由组件
 
 解释一下啥是路由 : 路由就是 一组映射关系 (key - value) , key 为路径 , value 可能是 function 或 component.
 
 在 vue2 中想要使用 路由 需要安装一个插件 vue-router .
1.1 安装 vue-router
 
 
创建 对应 目录 与 组件

1.2 配置路由
 
 在项目中 配置的路由 一般存放在 router 文件夹中

2. 使用路由
图一 :

 
 图二 :

3. 路由的跳转
 
 上面 是 手动 通过 url 来进行路由的切换 ,这肯定是不行的 , 用户看不太懂这些,下面我们就来看看路由的两种跳转模式
3.1 声明式导航
 
 第一种路由跳转 : 声明式导航 通过 router-link 标签 进行路由跳转

3.2 编程式导航
 
 第一种路由跳转 : 编程式导航 使用 push | replace 进行路由跳转.
 
 关于声明式导航 能做的 ,编程式导航都能做 , 关于 编程式导航 除了可以进行路由跳转 ,还可以做一些其他的业务逻辑

4. 路由传参
关于 路由传参 , 参数有两种
- params 参数 : 属于路径当中的一部分 , 需要注意 ,在配置路由的时候 ,需要占位
- query 参数 : 不属于 路径当中的一部分 ,类似 ajax 中的 queryString /student?k=v&kv=不需要传参
4.1 路由传递参数 : 字符串形式
图一 :

图二 :

 
 使用模板字符串

 
 图二 :
 
 
 图三 :

4.2 路由传递参数 : 对象写法
图一 :

图二 :

图三 :

4.3 路由传参相关面试题
 
 题目一 : 路由传递参数 (对象写法) path 是否可以结合 params 参数一起使用 ?
 
 图一 :

 
 图二 :

题目二 : 如何 指定 params 参数 可传可不传 ?
 
 图一 :

题目三 : params 参数 可以传递也可以不传递 ,但是如果传递是空串如何解决 ?

 
 题目四 : 路由组件 能不能传递 props 数据
图一 :

 
 图二 :

 
 图三 :

关于 props 传递参数 ,总的来说 , 是对 获取 params 参数 和 query 参数的 简化 .
5. meta 使用
图一 :

6. 重写 push 和 replace 方法
 
 push 和 replace 都是 编程式 路由 使用的 , 这里如果 多次执行 push 或 replace 方法 会抛出 NavigationDuplicated 的警告错误 .
 
 演示一下 :

 
 图二 :

 
 下面来解决一下这个问题 : 
 
 图一 : 治标不治本的解法

 
 图二 : 彻底解决

其实这个问题 处理不处理 对程序的影响不大 ,只不过 作为程序猿看到一片红 难免有点心理不好受.
例子代码 :



















