1.路由元信息(meta)
如果一个网站有不同的角色,比如 管理员 和 普通用户 ,要求不同的角色能访问的页面是不一样的
这个时候我们就可以 把所有的页面都放在路由表里 ,只要 在访问的时候判断一下角色权限 。如果有权限就让访问,没有权限的话就拒绝访问,跳转到404页面
vue-router 在构建路由时提供了元信息 meta 配置接口,我们可以在元信息中添加路由对应的权限,然后在路由守卫中检查相关权限,控制其路由跳转。
可以在每一个路由的 meta 属性里,将能访问该路由的角色添加到 roles 里。用户每次登陆后,将用户的角色返回。然后在访问页面时,把路由的 meta 属性和用户的角色进行对比,如果用户的角色在路由的 roles 里,那就是能访问,如果不在就拒绝访问。
const routes = [
{
path: '/', redirect: '/article' },
{
path: '/login', component: login, meta: {
title: "login" }
// 后台管理页面
{
path: "/my", component: my, meta: {
title: 'my', requireAuth: true }, children: [
{
path: 'visitorMessage',
component: VisitorMessage,
meta: {
permission: true }
}