我正在尝试为我的Angular应用程序设置一个安装程序,该安装程序将具有两个路由器视图出口。具体来说:
主要出口:此出口将封装应用程序,并将由/login
,/password-reset
和/app
次要(内容)出口:该出口将位于主根组件内(路径为/app
)。想法是,此根组件将具有其他元素,例如header,sidebar和footer,这些元素无需重新渲染,并且还具有用于内部路线(例如/app/dashboard
,/app/users
)等
我举了一个图解的例子来可视化问题:
到目前为止,我仅设法制作了主要插座和一条嵌套路线。但是,问题在于,当深入时(例如/app/users/create
),每个级别都需要一个单独的<router-outlet>
组件。那不是很好-我的目标是创建一个只需要两个插座的设置,但将按原样保留路由结构-将嵌套路由保留在children
下,以供将来在面包屑等中使用。
StackBlitz上的代码示例:https://stackblitz.com/edit/multiple-outlets
我希望我对这个问题的解释足够好,谢谢您的建议!
我设法通过对具有任何后代的每条路由使用各自的NgModule来实现所需的功能。最终,我将完全切换到延迟加载,并且每条路由都将拥有自己的NgModule和路由。
[对于那些也在挣扎中的人们,请随意分叉我测试过的StackBlitz:https://stackblitz.com/edit/multiple-outlets