Как отобразить данные в одном из маршрутизаторов в угловых?
Я разработал маршрутизатор в основном компоненте:
<div class="main-panel">
<app-navbar></app-navbar>
<router-outlet></router-outlet>
<app-footer></app-footer>
</div>
в app-navbar
E сть search box
и результат поиска отображается на компоненте в роутере-розетке. Проблема в том, что я не знаю, как передать данные на маршрутизатор-выход из компонента navbar.
Я даже пытался импортировать компонент, но выход маршрутизатора не может автоматически обновляться.
1 ответ
Одним из вариантов является создание службы. [Я предоставил несколько других вариантов в своем исходном ответе... но он был удален модератором, поэтому я оставляю эти другие варианты отключенными.]
Я работал над стеком, демонстрируя, как использовать сервис в этом особом сценарии здесь: https://stackblitz.com/edit/angular-simpleservice-deborahk
ПРИМЕЧАНИЕ: не требует Subject
или подписки
Он предоставляет компонент заголовка, похожий на ваш <app-navbar></app-navbar>
с окном поиска. И <router-outlet>
с компонентом, отображающим результат поиска. (Хотя мой конкретный пример показывает только текст поиска... его можно легко расширить, чтобы использовать этот текст поиска для отображения результатов поиска.)
Я надеюсь, что это поможет вам!