【问题标题】:Set parent markup from nested child route component从嵌套的子路由组件设置父标记
【发布时间】:2016-12-08 08:01:12
【问题描述】:

我希望我的所有路由组件都嵌套在 BaseLayout 组件中。对于使用router-outlet 的简单示例来说,这很容易,其中整个子组件都被注入到路由器插座中。是否可以为孩子定义多个地方将内容注入父母?类似于命名 ng-content 块的工作方式?我希望子路由组件能够定义页眉、主页和页脚的内容。

【问题讨论】:

    标签: angular


    【解决方案1】:

    新的docs for routing 声明:

    一个模板可能恰好包含一个未命名的 .路由器 支持多个命名插座,我们将在未来介绍该功能。

    因此,要使其正常工作,您需要在您的 <router-outlet name="aux"></router-outlet> 上添加一个 name 属性并在您的路线配置中使用它:

    {path: '/chat', component: ChatCmp, outlet: 'aux'}
    

    在此答案中查看更多信息:https://stackoverflow.com/a/38096837/2972

    【讨论】:

    • 我不认为辅助路由是我想要的。我想做类似的事情:{path: '', component: BaseLayoutComponent, children: [ {path: '', component: HomeComponent} ]} 并让 HomeComponent 模板定义多个内容块,这些内容块被注入到 BaseLayout 模板中。
    • 那么我认为你需要弃用的路由,它不会持续很长时间。
    • 我们的整个项目已经使用了最新的路由器,所以我们不会恢复到已弃用的路由器。有没有办法用辅助路由做到这一点?似乎它正在解决一个不同的问题。
    • 可能是这样,但我不确定具体如何。他们似乎确实试图在新文档中解释类似的内容。
    • 是的,在当前文档中不是很清楚。我现在会忍受一些标记重复,希望文档很快会更新更多信息。谢谢
    猜你喜欢
    • 2016-12-19
    • 2023-04-04
    • 2021-10-23
    • 2017-09-09
    • 2022-07-24
    • 2019-07-06
    • 1970-01-01
    • 1970-01-01
    • 2015-05-25
    相关资源
    最近更新 更多