使用 Vue 和 Vue-router 创建一个多布局(layout)系统

原文地址:https://www.yaoin.net/blog/2019/09/30/%E4%BD%BF%E7%94%A8-vue-%E5%92%8C-vue-router-%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E5%A4%9A%E5%B8%83%E5%B1%80layout%E7%B3%BB%E7%BB%9F/

假设您创建了一个博客。您希望主页没有侧栏,而所有其他页面都有侧栏。

使用 vue-cli 3 创建一个项目:

vue create blog

创建 layouts 文件夹这 src。

创建有边栏的 Default 模版。

创建没有边栏的 NOSidebar 模版:

然后在 router.js 里创建页面:

import Vue from 'vue'

import VueRouter from 'vue-router'

Vue.use(VueRouter)

import Home from './pages/Home'

import About from './pages/About'

const routes = [

    {

        path: '/',

        name: 'home',

        meta: {

            layout: 'no-sidebar'

        },

        component: Home

    },

    {

        path: '/about',

        name: 'about',

        meta: {

            layout: 'default'

        },

        component: About

    },

]

const router = new VueRouter({

    mode: 'history',

    routes

})

export default router

我为Home & About页面添加了一个meta键 在Vue-router中。

现在我们在 main.js 导入 layout

转载自 BY 迎迎 姚
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • @synthesize和@dynamic分别有什么作用?@property有两个对应的词,一个是 @synthes...
    笔笔请求阅读 3,550评论 0 1
  • 1路由,其实就是指向的意思,当我点击页面上的home按钮时,页面中就要显示home的内容,如果点击页面上的abou...
    你好陌生人丶阅读 5,572评论 0 6
  • 路由,其实就是指向的意思,当我点击页面上的home按钮时,页面中就要显示home的内容,如果点击页面上的about...
    六月太阳花阅读 3,757评论 0 3
  • 写这个主要是为了帮助我自己的记忆并且以后回顾 如果不小心竟然有人看 有错误的地方欢迎指出,如果....你懂的! 初...
    城门小胡同阅读 5,655评论 0 1
  • 2018年7月17日 周二 晴 假期的第二周第二天,按部就班的步入正规。上午8:30去学口才,...
    徐安然儿阅读 994评论 0 0