添加页面和布局
你的页面(/src/pages
)和布局(/src/layouts
)通过/src/router/routes.js
中的Vue路由器注入到你的网站/应用中(也是被管理的)。每页和布局都需要在那里引用。
routes.js
的例子:// 在这个文件里我们定义我们的路由
import LandingPage from 'pages/Landing'
const routes = [
{
path: '/',
component: LandingPage
}
]
export default routes
使用延迟加载/按需加载的routes.js
示例:// we define our routes in this file
const routes = [
{
path: '/',
component: () => import('pages/Landing')
}
]
export default routes
使用布局和页面配置路由基本在于正确地嵌套路由,我们将在下一节中看到。
嵌套路由
真正的应用程序用户界面通常由嵌套多层次的组件组成。 URL的片段与嵌套组件的特定结构相对应也很常见,例如:
/user/profile /user/posts |
使用Vue路由器,使用嵌套路由配置来表达这种关系非常简单。我们注意到一些事情:两个页面都需要被用户组件包装。嘿,用户组件是一个布局!
我们来创建这些文件:$ 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 Profile Posts
app:new Generated page: src/pages/Profile.vue +0ms
app:new Make sure to reference it in src/router/routes.js +2ms
app:new Generated page: src/pages/Posts.vue +1ms
app:new Make sure to reference it in src/router/routes.js +0ms
由于用户布局包装内页,他们需要一个注入点。这由<router-view>
组件提供:<!--/src/layouts/User.vue -->
<template>
<q-layout>
...
<!-- 这是页面被注入的地方 -->
<q-page-container>
<router-view></router-view>
</q-page-container>
...
</q-layout>
</template>
<!--/src/pages/Profile.vue 或 Posts.vue --> |
我们的例子有一些指定的路由(/user/profile和/user/posts)。 那么我们现在怎么把所有东西都放在一起?我们编辑路由文件。这就是我们配置路由的地方,告诉哪些组件是布局,哪些是页面,并且在我们的应用中指向/导入它们:
//src/router/routes.js |
请注意,以/
开头的嵌套路径将被视为根路径。这使您可以利用组件嵌套而无需使用嵌套的URL。
如需进一步详细了解,请查看Vue路由器文档。