sim, mas estou usando para todas as guias do sistemas, não sei se funciona com abas de tabs, teria como usa-lá ??
/* Rotas do sistema para linkar em cada página */
import Vue from 'vue'
import VueRouter from 'vue-router'
import Home from '@/components/home/Home'
import TelaRegister from '@/components/register/TelaRegister'
import TelaCadastro from '@/components/cadastro/TelaCadastro'
import TelaConsultaRegister from '@/components/consultaRegister/TelaConsultaRegister'
import TelaConsultaCadastro from '@/components/consultaCadastro/TelaConsultaCadastro'
import TelaGestao from '@/components/gestao/TelaGestao'
import AdminPages from '@/components/admin/AdminPages'
import Auth from '@/components/auth/Auth'
import { userKey } from '@/global'
Vue.use(VueRouter)
const routes = [{
name: 'home',
path: '/',
component: Home
},{
name: 'TelaGestao',
path: '/gestao',
component: TelaGestao
},{
name: 'TelaRegister',
path: '/registro',
component: TelaRegister
},{
name: 'TelaCadastro',
path: '/cadastro',
component: TelaCadastro
},{
name: 'TelaConsultaRegister',
path: '/consulta.register',
component: TelaConsultaRegister
},{
name: 'TelaConsultaCadastro',
path: '/consulta.cadastro',
component: TelaConsultaCadastro
},{
name: 'adminPages',
path: '/admin',
component: AdminPages,
meta: { requiresAdmin: true }
}, {
name: 'auth',
path: '/auth',
component: Auth
}]
const router = new VueRouter({
mode: 'history',
routes
})
router.beforeEach((to, from, next) => {
const json = localStorage.getItem(userKey)
if(to.matched.some(record => record.meta.requiresAdmin)) {
const user = JSON.parse(json)
user && user.admin ? next() : next({ path: '/' })
} else {
next()
}
})
export default router