提交 26a76afe authored 作者: 蔡芬's avatar 蔡芬

路由表 和 守卫分开

上级 0fdacae8
...@@ -31,7 +31,7 @@ async function createWindow() { ...@@ -31,7 +31,7 @@ async function createWindow() {
icon: path.join(__static, '/favicon.ico'), //图标更换,仅支持svg、ico ,在public下 icon: path.join(__static, '/favicon.ico'), //图标更换,仅支持svg、ico ,在public下
// resizable:false, //窗口大小是否可以改变 // resizable:false, //窗口大小是否可以改变
// maximizable: false, //窗口是否可以最大化 // maximizable: false, //窗口是否可以最大化
// frame: false, //无边框窗口 // frame: false, //无边框窗口 - 去掉顶部导航,关闭按钮,最大最小化按钮
webPreferences: { webPreferences: {
// Required for Spectron testing // Required for Spectron testing
// enableRemoteModule: !!process.env.IS_TEST, // enableRemoteModule: !!process.env.IS_TEST,
......
import Vue from "vue"; import Vue from "vue";
import VueRouter from "vue-router"; import VueRouter from "vue-router";
import Home from "../views/Home.vue"; import routes from './routes';
import Login from "../views/Account/Login.vue";
Vue.use(VueRouter); Vue.use(VueRouter);
const routes = [
{
path: "/",
name: "Home",
component: Home,
},
{
path: "/about",
name: "About",
// route level code-splitting
// this generates a separate chunk (about.[hash].js) for this route
// which is lazy-loaded when the route is visited.
component: () =>
import(/* webpackChunkName: "about" */ "../views/About.vue"),
},
{
path: "/login",
name: "Login",
component: Login,
// beforeEnter: (to, from, next) => { //路由独享的守卫
// next();
// }
},
{
path: "/course",
name: "Course",
component: () =>
import(/* webpackChunkName: "about" */ "../views/Course/index.vue"),
},
{
path: "/course/:type",
name: "CourseCreate",
component: () =>
import(/* webpackChunkName: "about" */ "../views/Course/create.vue"),
},
];
const router = new VueRouter({ const router = new VueRouter({
routes, routes,
}); });
...@@ -55,6 +17,10 @@ router.beforeEach((to, from, next) => { ...@@ -55,6 +17,10 @@ router.beforeEach((to, from, next) => {
// if (to.name !== 'Login' && !isAuthenticated) next({ name: 'Login' }) // if (to.name !== 'Login' && !isAuthenticated) next({ name: 'Login' })
// else next() // else next()
next(); next();
}) });
/* Execute after jump
导航守卫,在router每次跳转完成后执行 */
router.afterEach(() => {});
export default router; export default router;
import Home from "../views/Home.vue";
import Login from "../views/Account/Login.vue";
export default [
{
path: "/",
name: "Home",
component: Home,
},
{
path: "/about",
name: "About",
// route level code-splitting
// this generates a separate chunk (about.[hash].js) for this route
// which is lazy-loaded when the route is visited.
component: () =>
import(/* webpackChunkName: "about" */ "../views/About.vue"),
},
{
path: "/login",
name: "Login",
component: Login,
// beforeEnter: (to, from, next) => { //路由独享的守卫
// next();
// }
},
{
path: "/course",
name: "Course",
component: () =>
import(/* webpackChunkName: "about" */ "../views/Course/index.vue"),
},
{
path: "/course/:type",
name: "CourseCreate",
component: () =>
import(/* webpackChunkName: "about" */ "../views/Course/create.vue"),
},
]
\ No newline at end of file
Markdown 格式
0% 或
您添加了 0 人 到此讨论。请谨慎行事。
请先完成此评论的编辑!
请 注册 或者 后发表评论