【发布时间】:2018-05-22 00:10:16
【问题描述】:
过去几个月我们一直在我的公司使用 Vue.js,我们真的很喜欢它!我们使用 Element UI 作为 UI,使用 vue-router 进行路由。根据我们的数据结构,我们将路线嵌套了好几层。它看起来像这样:
App ->
Line ->
Type ->
Component1
Component2
Component3
我们的设计师希望能够在每个页面的基础上控制布局,甚至可以一直控制到 Component* 内部。例如,在Component1 中可能有一个带有侧边栏和页脚的布局,而在Component2 中可能没有侧边栏但页脚会被隐藏。
基于嵌套结构,我们发现这很复杂。它们不是在页面上显示为不同的块,而是相互嵌套。我们可以取消嵌套每个 Vue 路由,但是我们冒着通过许多处于同一级别的页面重复逻辑的风险。
在这样的嵌套结构中处理布局有哪些好方法?
【问题讨论】:
-
您是否研究过
slots的概念以及它们是否适合您的用例? -
就像上面所说的,插槽可能会起作用。或者,您也可以将多个组件传递给您定义的
route,以控制哪些组件出现在页面中。
标签: vue.js vuejs2 vue-component vue-router