【发布时间】:2018-06-03 13:03:09
【问题描述】:
Vuetify 有一个非常灵活的布局方案,包括菜单、工具栏、内容和页脚,它允许一些漂亮的 material design schemes,例如Google Contacts:
考虑一个标准设置,其布局由路由器控制,整个站点具有固定菜单,但动态工具栏会随显示的页面而变化。根据显示的页面更改工具栏内容的最佳做法是什么?在 Google 通讯录示例中,我们只希望搜索栏显示在 Contacts 页面上。
根据我对 Vue 的初步了解,这似乎是用 scoped slot 定义路由器布局。可能有很多其他的hacky方法可以实现这一点。但我正在寻找一种干净、模块化的方式来定义跨页面的工具栏内容。
想法:
不久前 vue-router didn't support named slots。不过这个好像有changed recently,虽然没有文档。
Named views 似乎是支持使用 vue-router 将工具栏内容绑定到主页的好方法。但是,工具栏似乎没有像插槽那样与主页“对话”的好方法。
【问题讨论】:
-
也许
meta字段可以帮助解决这个问题? router.vuejs.org/en/advanced/meta.html -
AFAIU 您不会在其他路线上重复使用联系人搜索栏。那么当你需要它的时候还有更多的情况吗?如果您只需要
v-if="$route.name === 'Contacts'",其他任何事情似乎都过大了。
标签: vue.js vuejs2 vue-component vue-router vuetify.js