我有一个使用三列布局的应用程序,基本上有导航列,工具箱和主要内容区域。并非所有这些组件都不一定总是存在。我现在想在每个列中呈现不同的组件。
目前,我这样做是通过从左到右对组件进行硬编码:导航栏始终存在,旁边是router-outlet
。在该路由器内部加载编辑器并且提供的侧边栏是硬编码的。这很丑陋有两个原因:
我正在寻找的是这样的:
<router-outlet name="navigation"></router-outlet>
<router-outlet></router-outlet>
<router-outlet name="sidebar"></router-outlet>
起初我认为辅助路线是我想要的东西。但在做了一些阅读后,这些路线似乎在导航网址中引入了一个完全独立的子树?我想基于完全相同的URL渲染这些组件。
我当然可以做自己的&#34;有点&#34;通过引入一个充满switch语句的元边栏来进行路由,就像我已经有效地完成了导航一样。但是这样做a)打破延迟加载并且b)使用起来不太愉快。
如果到目前为止我已经进行了抽象,这是一个非常精确的用例:主要内容区域是SQL,CSS或HTML的某种编辑器。根据编辑的确切内容,导航栏会将数据显示到特定级别。另一列或多或少是一个上下文相关工具箱,它根据编辑内容的类型显示不同的项目。所有这三个组件都需要来自URL的完全相同的信息:当前编辑的内容是什么?
答案 0 :(得分:0)
您可能有多个路由器插座,但是无法使用一个URL激活它们,因为配置路由配置时,必须唯一标识路径。
您可能必须编写自定义逻辑来读取URL params
并基于此调用一些嵌入式子路由,这将为您的不同区域提取不同的组件。
希望这会有所帮助!!