VUE-Router笔记,路由跳转、路由守卫、404页面配置等等。
官方文档:https://router.vuejs.org/zh
路由跳转
router-link标签。设置router-link的样式,参考这篇博客。
会转换为a标签。目的路由写在router-link标签的to属性中。
1
2
3<router-link to="/order/more">
<el-button type="primary">更多</el-button>
</router-link>
js代码实现路由跳转可以使用
this.$router.push(“路径”);
。(更多跳转方式,参考这篇博客)。1
2// window.location.href="/#/home";
this.$router.push("/home");
传递参数
分为params、query。
- params,指定目标页面使用路由name,参数会拼接在地址栏,刷新页面不会丢失
- query,指定目标页面使用路由url,参数不会拼接在地址栏,刷新页面会丢失
1 |
this.$router.push({ |
配置404页面
配置404页面(vue2.x)。
在文件router/index.js中的routes数组最后进行如下配置:
1 |
... |
路由守卫
路由守卫控制访问权限。
案例:
如果用户没有登录(通过token来判断),而是直接通过URL访问特定页面,需要重新导航到登录页面。
未添加路由守卫前的router/index.js文件如下:
1 |
import Vue from 'vue' |
把export default new Router
拆分开来,配置好路由守卫后再export
。
1 |
const router = new Router({ |
添加的配置如下:
1 |
//挂载路由导航守卫。to表示将要访问的路径;from表示从哪里来;next是下一个要做的操作(一个函数),next() 放行,next('/login')强制跳转到"/login" |