路由:
在跳转路由中总是会遇到各种各样的问题:
- 比如在router中想要遍历全部的路径,
- 我们便会用到routeradd来添加组件中的路由
- 但是我们这时候打印台就会出现这样
No match found for location with path “/“
1.我们在路由命名时很容易就会重复导致跳转路由跳转不通
比如在开发中这样:
...
{
path:"/home",
name:home,
component:"@/views/home"
}
...
像这样就会使路由跳转失败
2.在路径中没有添加“/”导致路由跳转不了
...
{
path:"home",
name:home
component:"@/views/home"
}
3.查看hash模式还是history模式
- 在hash模式时看一下前面的路由是否是带“#”,如果该路由没有携带参数啥的就是因为它需要添加“#”来进行跳转
- 在history模式下不需要添加“#”,请注意看一下自己设置的是什么模式
4.查看vue组件中是否含有 Routerview,拥有跳转能力才可以跳转
<Routerview></Routerview>
5.在组件中编写时跳转的分页时(主要是路由拦截时)
- 分支路径必须是主页面的路径,要不然不会跳转并且页面不会显示任何东西。
- 记住路径不需要前缀。
路由守卫、拦截
- 在路由守卫中next、to等调试起来还挺难的,先来看看成功的案例
在图中比较容易出现的问题就是:
- 比较容易写错相近英文,比如在图中isGetterRouter与changeGetterRouter搞错位置,找了半天才发现
- 在if中添加else,由于层级太多写错层级,导致报错
- store.state.isGetterRouter中未添加!,导致路由一直在循环,跳不出来
- 同理上面那个也是如此
- 在最后else中,一定要写next()
补充一点:
在button中在编写token在本地中测试时,一定要检查一下中没有写名,不会报相关的错,但是路由也是不会跳转的