在单页面应用程序(SPA)中,有些页面的布局结构是上下两块是固定,中间内容是变化的。这时在入口处固定上下部分就可以很好的解决这一问题。有少部分页面没有上下部分或不需要(如:用户注册、登陆页面),针对这一情况怎么解决
兼容这两种情况解决方案:
App.vue
在入口处单个路由输出
<template> <router-view></router-view> </template>
Frame.vue
在做一个固定结构布局
<template> <div id="app"> <header class="header"> //.... 头固定 </header> <div class="main"> <router-view></router-view> </div> <footer class="footer"> //.... 尾固定 </footer> </div> </template>
router.js
在需要采用固定布局结构的地方加载Frame布局文件,然后做一个嵌套路由。
子路由和父路由相同的情况下可实现默认加载
routes:
[ { path: "/login", name: "login", component: () => import("./views/Login.vue") }, { path: "/register", name: "register", component: () => import("./views/Register.vue") }, { path:"/", component:Frame, children:[ { path:"/", // 默认加载 子路径与父路径相同的情况下会自动加载 name:"index", component: Index }, { path:"/list", name:"list", component: () => import("./views/List.vue") } ], } ]