【发布时间】:2017-09-10 15:40:21
【问题描述】:
在我的根组件中,我有以下模板:
<main class="main">
<div class="main__container">
<div class="main__left-area">
<router-outlet></router-outlet>
</div>
<div class="main__right-area">
<router-outlet name="aside"></router-outlet>
</div>
</div>
</main>
我想为同一路由加载主要router-outlet 中的一些组件和辅助router-outlet 中的一些其他组件(当然,我有几条路线)。因此,我这样定义我的路线:
export const AppRoutes: Routes = [
{
path: "",
component: HomeSummaryComponent
},
{
path: "",
component: AskSummaryComponent,
outlet: "aside"
},
{
path: "payments",
component: PaymentComponent
},
{
path: "payments",
component: DataSummaryComponent,
outlet: "aside"
}
];
当页面加载时,它运行良好,我在主router-outlet 中有HomeSummaryComponent,在旁边router-outlet 中有AskSummaryComponent。但是,在导航中,我有这个:
<a routerLink="/payments" class="navigation__link">Payments</a></span>
当我点击此链接时,主要router-outlet 的内容被PaymentComponent 替换,但旁边的router-outlet 仍显示AskSummaryComponent。
我还尝试通过“/payements-aside”重命名第二条“付款”路线,并将链接替换为:
<a routerLink="/payments(aside:payments-aside)" class="navigation__link">Payments</a>
但它仍然不起作用。但是,当我直接访问 http://localhost:8083/payments(aside:payments-aside) 时,它确实可以工作,但这个 URL 不是很干净......它不能用于面向公众的网站,因为。
有人知道如何实现这个简单的需求吗?
【问题讨论】:
标签: angular router-outlet