单页web应用(spa)
只有一个HTML页面,程序中所有页面都是js
路由 vue-router
路由有两种模式
https://www.jianshu.com/p/ae8f9c41a77c
hash
www.baidu.com/#/index
www.baidu.com/#/about
location.hash
history
www.baidu.com/index
www.baidu.com/about
pushState 添加一条浏览器的历史记录
replaceState 替换浏览器历史记录
页面跳转
1: router-link
2: this.$router.push
$router表示方法
$route是获取路由参数
参数传递:
1:query
www.baidu.com/#/info?id=1&page=122
2:params
www.baidu.com/#/info/1/122
导航守卫
1:全局前置守卫
2:路由独享的守卫
3:组件内的守卫
登录拦截
1:在登录页面,点击登录按钮,调用登录接口,将用户名密码给后端
{
code: 200,
msg: '',
result: {
token: 'sdfgfdwqerggfwbt'
}
}
token:是一串用户信息的加密字符串
WQDWEFEFWEFREFREFG.WFREGRTY5665YHRTGDR.WFREGRTY5665YHRTGDR
后端在接口中会返回token,前端需要缓存到本地中。
2: 前端在全局路由守卫中判断,需要将要访问的页面是否需要登录,如果需要登录,是否已经登录
接口是无状态的
json web token jwt
vue-cli
2.x
3.x 4.x