Слайдер PrimeNg не рендерится в Fieldset после навигации по роутеру - PullRequest
0 голосов
/ 20 января 2020

После часов, потраченных на отладку проблемы, я нашел точную ситуацию, когда это происходит, а когда нет, но я не мог понять, почему. Я также попытался создать простой пример на GitHub в пустом проекте, но мне не удалось воспроизвести проблему.

Так что здесь у нас go,

У меня есть компонент, использующий PrimeNg Ползунок для изменения громкости на моем AudioComponent, расположенном на /audio. Этот слайдер находится внутри Fieldset . Я поместил идентичный ползунок за пределы Fieldset.

<p-fieldset legend="Audio">
    <p-slider [(ngModel)]="value"></p-slider>
</p-fieldset>

<p-slider [(ngModel)]="value"></p-slider>

Когда я перенаправляю с любой страницы на /audio через свой компонент меню, он не отображает ползунок внутри Fieldset, но он отображает тот, который находится снаружи.

Для перенаправления я использую

this.router.navigate([`audio`]);

Однако, когда я перезагружаю страницу, все ползунки отображаются.

Я попытался поставить <a href="/audio">Audio</a> на мою домашнюю страницу. Нажатие на это займет немного больше времени, чем перенаправление с router.navigate, но оно всегда рендерит все ползунки.

У кого-нибудь есть идеи, почему перенаправление с router.navigate не отрендерит компонент Slider внутри Fieldset?

Аудио компонент является частью AudioModule, который маршрутизируется в AppRoutingModule следующим образом:

{
    path: 'audio',
    canActivate: [AuthGuard],
    loadChildren: () => import('./modules/audio/audio.module').then(m => m.AudioModule)
}
...