集成布局与路由器

您可以从Vue路由器的功能中受益,同时使用Quasar布局来构建路由。 下面的信息只是一个建议,不是强制性的。 Quasar允许你充分的自由。 仅以下面的几行为例。

布局是用于封装页面的组件,因此多个页面将共享相同的页眉、左侧/右侧等。 但是,您也可以配置每页页眉/页脚/左侧或右侧,但它们都必须是QLayout组件的子项。 为了理解这是如何工作的,你需要阅读Vue Router nested routes

例子

为了更清楚一点,我们举个例子。 我们有一个布局(’user’)和两个页面(’user-feed’和’user-profile’)。 我们希望像这样配置网站/应用程序路由:/user/feed/user/profile

首先,我们创建布局和页面:

$ quasar new layout user
app:new Generated layout: src/layouts/user.vue +0ms
app:new Make sure to reference it in src/router/routes.js +2ms

$ quasar new page user-feed user-profile
app:new Generated page: src/pages/user-feed.vue +0ms
app:new Make sure to reference it in src/router/routes.js +2ms

app:new Generated page: src/pages/user-profile.vue +1ms
app:new Make sure to reference it in src/router/routes.js +0ms

上述命令创建以下文件夹结构:

src/
├── layouts
│   └── user.vue # 我们的QLayout定义文件
└── pages
   ├── user-feed.vue # /user/feed路由页面
   └── user-profile.vue # /user/profile路由页面

我们的路由配置(/src/router/routes.js)应该如下所示:

export default [
{
path: '/user',

// 将组件指向QLayout定义文件的目录
component: () => import('layouts/user'),

// 现在我们定义子路由。
    // 通过使用<router-view>占位符
    //(需要在布局中指定它),
// 这些子路由正在自动注入(上面的)布局
children: [
{
path: 'feed',
component: () => import('pages/user-feed')
},
{
path: 'profile',
component: () => import('pages/user-profile')
}
]
}
]

请注意一些事情:

阅读所有Vue Router文档以充分理解上述示例以及如何为您的应用配置路由器及其路由。