请问 Vue 能设置预设全局分享 Layout 吗?

作者站长头像
站长
· 阅读数 8

请问 Vue 能设置预设全局分享 Layout 吗?

这个Demo : https://codesandbox.io/embed/...

需要在每个 View 都宣告一次 Layout,想要View一般不用宣告,能预设使用 xxx.vue 当模版请问 Vue 能设置预设全局分享 Layout 吗?

回复
1个回答
avatar
test
2024-07-12

你应该在设计路由的时候把 layout 放在外层,不就好了么。

比如说这样的结构:

import Vue from 'vue';
import Router from 'vue-router';

const Layout = ()=> import(`./layouts/LayoutDefault.vue`);
const Home = () => import(`./views/Home.vue`);
const About = () => import(`./views/About.vue`);

Vue.use(Router);

export default new Router({
  mode: `history`,
  routes: [
    {
      path: `/`,
      name: `Layout`,
      redirect: '/home',
      component: Layout,
      children:[
        {
          path: `/home`,
          name: `home`,
          component: Home,
        },
        {
          path: `/about`,
          name: `about`,
          component: About,
        },
      ]
    },
  ],
});
回复
likes
适合作为回答的
  • 经过验证的有效解决办法
  • 自己的经验指引,对解决问题有帮助
  • 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
  • 询问内容细节或回复楼层
  • 与题目无关的内容
  • “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容