vue-router路由的搭载的使用

83 阅读2分钟

我们在网上看像网易云音乐这种页面,当我们点击其中的一个类型,它不会跳一整个页面,而是局部跳页面(有点像iframe的感觉)

image.png

image.png

我点击不同模块,然后仅仅改变了中间展示内容整个头部不改变(保留)

这是啥?为什么要这么做?

首先,路由是一种映射关系

而vue中的路由便是指路径和组件的映射关系

本质上是为了不同的业务场景切换,但和普通的切页面不一样:

1.它不用刷新一整个页面,用户的体验和感官会更加好;

2.根据需求写组件,根据组件开发

3.数据结构分离,并且可以数据双向绑定

4.单页面路由(仅一个html)

怎么搭载路由

在(package.json看) 1.首先下载vue-router模块

image.png

写在(main.js) 2.引入路由

image.png

3.注册组件

image.png

4.创建路由规则

image.png

里面import都是两个相同的效果不同写法

5.路由规则生成路由对象

image.png

6.路由注入实例对象

image.png

写在(vue) 7.开始搭载

image.png

使用vue-router

image.png

首先,可以创建一个view文件把不同需求的组件装一起,方便管理

声明式导航

1.router-link实质上最终会渲染成a链接 to属性等价于提供 href属性(to无需#)

  1. router-link提供了声明式导航高亮的功能(自带类名)

image.png

并且,它还自带两种传参数的方法:

1.如果想传参数,可以在router-link的to属性上写上需要传的参数 to=/path?参数名=参数值对应组件写入 $route.query.参数名

image.png

2.传值第二个方法 to=/path/参数值main.js里面对应的路由规则的path上要写 :参数名对应组件写入 $route.params.参数名

image.png

image.png

重定向

redirect配置项, 值为要强制切换的路由路径

image.png

404页面

先准备好一个用于跳转的404页面,当我访问路径不存在,会自动到404页面

image.png

模式改变

history和hash模式

image.png

编程式导航

会不会觉得声明式导航太麻烦,有一种用js写法的会更加好懂好写好理解~

我先给按钮添加方法,在method声明

image.png

第一个方法 this.$router.push({path:'路由规则路径',query:'参数'}) image.png

image.png

页面用$router.query接收 image.png

第二个方法 this.$router.push({name:'路由规则定义的name',query:'参数'})

image.png

image.png

image.png

image.png