vue获取路由
随着家庭设备的增多,路由器的管理变得越来越重要。本文vue获取路由将为您介绍如何正确设置路由器,保障网络安全。
本文内容目录一览:
vue 动态获取当前路由信息
vue 动态获取当前route路由信息
watch: {
$route: {
绝搭租袜 handler:function(route){
console.log(route)
},
immediate:true
并型拿 }
},
Vue-Cli使用路由
可在main.js或者在src中新颤雀建router文件夹专门放设置路由的js中引入vue-router:
$router就是当前项目中的路由器对象,它的push方法,用于跳转路由
replace方法,也是用于跳转路由。
push方法是在浏览器的历史记录中,添加一个路由信息
replace方法是在浏览器的历史记录稿哗中,替换前一条路由信息
路由配置时需茄敬早要传一个参数,路由可以传多个参数
props选项为true时,组件可以通过props选项接收路由参数
路由跳转时需要将参数写在地址后面
在跳转到的页面中可以获取到传过来的参数
使用query方式传参无需再路由配置中进行操作。
路由地址,采用query传参方式:?参数1=XXX参数2=XXX....
通过$route.query获取路由地址?后面的参数
vue 动态路由/路由权限 解决方案
路由权限思路:
1.菜单栏/导航栏(一级权限)
在登录成功后,获取后端的权限数据, 根据铅扮权限数据,展示对应的路由导航或菜单即可;
2.界面的控制
如果用户没有登录, 用户手动在地址栏输入路由地址,则需要跳转到登录界面.
如果用户已经登录, 用户手动输入的非权限内的路由地址,则给他跳转到404界面.
3.按钮的搭游控制(二级权限)
在页面中,有些账号有: 添加,删除,修改,增加等权限, 有些没有.
没有权限的账号在这个页面只是可以浏览页面中的数据,需要对这些按钮 禁用or隐藏。
4.请求和响应的控制 (这一步其实后端也会根据token判断身份信息, 来返回数据,可以省略)
如果用户通过非常规的手段(可能是同行), 比如通过浏览器f12将禁用的按钮disabled 改成false, 隐藏的按钮apacity:0改成了1,这些按钮就可以使用了,此时需要对按钮点击后发出的请求作出拦截.
login.vue
home.vue (elment-ui)
侧边导航栏
store.js
router.js
动态路需知激销两个地方调用:
1 login.vue 中登录成功后立即执行动态路由函数
2 app.vue中, 在根组件中添加执行动态路由函数,这样每一次用户刷新,就会执行,否则刷新之后,动态路由就没了
思路3:按钮的控制(二级权限): 这里我是通过 自定义指令来实现 对按钮(增,删,改等二级权限按钮) 的显示隐藏。
更简单直接的方式,直接就在html中对button添加v-if显示隐藏即可
import './utils/permission.js' -- main.js中引入文件, 嫌麻烦直接在main.js中写
4 服务器返回状态码401, 代表token超时 or token被串改 or 未传token, 此时强制跳转到登录页重新登录
Vue动态路由实现逻辑
1、登录后跳转的授权页斗明戚redierect.vue,获取动态路由的数组,存储于store.ts
2、在main.ts 中引用路由守卫文件
3、在permission.ts中用槐好到了
导航前置守卫,在调用路由之前会先调用该方法,在该方法中通过store.ts的路由数组动态渲染路由后访问。
4、在asyncRouter.js通过定义 getAsyncRoutes 进行路由数组的格式化,同时此处空陵也可以用来通过接口获取路由信息,但是我就不查了,太浪费资源。
permission.ts内容如下
如果您遇到任何问题或困难,请联系我们的技术支持团队,我们将尽力为您提供帮助和支持。