Я использую маршрутизатор A6, в котором я рендеринг 3 компонентов на / новый маршрут. Я также использую Angular-материал и компонент sidenav. Мой parentComponent является основной областью содержимого, а childComponent - содержимым ящика.
{
path: 'new',
children: [
{
path: '',
component: ParentComponent
},
{
path: '',
component: SiblingComponent,
outlet: 'nav',
children: [
{
path: '',
component: ChildComponent
}
]
}
]
}
childComponent html
<div class="new-event-side-nav">
<mat-nav-list>
<a mat-list-item>
<span>Some Details</span>
</a>
<a mat-list-item [href]="otherDetail">
<span>Other Details</span>
</a>
</mat-nav-list>
</div>
parentComponent
<mat-card>
<div id="some_detail">
<p>Some Content</p>
</div>
<div id="other_detail">
<p>Other Content</p>
</div>
</mat-card>
Я могу извлечь идентификаторы обоих div в моем дочернем компоненте, используя
otherDetail = document.getElementById('other_detail');
и добавить его в HTML моего дочернего компонента. Но при щелчке он не прокручивается до элемента, я получаю 404. Более того, мой URL-адрес изменяется с / new на /% 5Bobject% 20HTMLDivElement% 5D
Я новичок в прокрутке до элементов в Angular 6. Кто-нибудь имел опыт прокрутки к различным элементам, используя sidenav из дочернего элемента?