Слияние кода завершено, страница обновится автоматически
import Vue from 'vue'
import VueRouter, { RouteConfig, Route } from 'vue-router'
import Layout from '@/layout/index.vue'
Vue.use(VueRouter)
export const constantRoutes: RouteConfig[] = [
{
path: '/redirect',
component: Layout,
meta: { hidden: true },
children: [
{
path: '/redirect/:path(.*)',
component: () => import(/* webpackChunkName: "redirect" */ '@/views/redirect/index.vue')
}
]
},
{
path: '/',
component: Layout,
redirect: '/index',
children: [
{
path: 'index',
component: () => import(/* webpackChunkName: "index" */ '@/views/index/index.vue'),
name: 'Index',
meta: {
title: 'index',
icon: 'component',
affix: true
}
}
]
},
{
path: '/guide',
component: Layout,
redirect: '/guide/index',
meta: {
title: 'guide',
icon: 'component',
noCache: true
},
children: [
{
path: 'index',
component: () => import(/* webpackChunkName: "guide" */ '@/views/guide/index.vue'),
name: 'Guide',
meta: {
title: 'guide',
noCache: true
}
},
{
path: 'index2',
component: () => import(/* webpackChunkName: "guide" */ '@/views/guide/index.vue'),
name: 'Guide2',
meta: {
title: 'guide',
noCache: true
}
},
{
path: 'form',
component: () => import(/* webpackChunkName: "guide" */ '@/views/form/index.vue'),
name: 'Form',
meta: {
title: 'form',
noCache: true
}
}
]
},
{
path: '/tab',
component: Layout,
children: [
{
path: '/tab/index',
component: () => import(/* webpackChunkName: "tab" */ '@/views/tab/index.vue'),
name: 'Tab',
meta: {
title: 'tab',
icon: 'component'
}
}
]
},
{
path: '/login',
name: 'Login',
component: () => import(/* webpackChunkName: "login" */ '@/views/login/index.vue'),
meta: { hidden: true }
}
]
export const asyncRoutes: RouteConfig[] = [
{
path: '/icon',
component: Layout,
redirect: '/icon/index',
meta:{
title: 'icons',
icon: 'component',
alwaysShow: true
},
children: [
{
path: 'index',
component: () => import(/* webpackChunkName: "icons" */ '@/views/icons/index.vue'),
name: 'Icons',
meta: {
title: 'icons',
noCache: true
}
}
]
},
]
const createRouter = () => new VueRouter({
routes:constantRoutes,
scrollBehavior: (to: any, from: any, savedPosition: any) => {
// savedPosition 会在你使用浏览器前进或后退按钮时候生效
// 这个跟你使用 router.go() 或 router.back() 效果一致
// 这也是为什么我在 tab 栏结构中放入了一个 点击回退 的按钮
if (savedPosition) {
return savedPosition
} else {
// 如果不是通过上述行为切换组件,就会让页面回到顶部
return {x: 0, y: 0}
}
},
})
const router = createRouter()
// Detail see: https://github.com/vuejs/vue-router/issues/1234#issuecomment-357941465
export function resetRouter() {
const newRouter = createRouter();
(router as any).matcher = (newRouter as any).matcher // reset router
}
export default router
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )