Как отобразить данные в одном из маршрутизаторов в угловых?

Я разработал маршрутизатор в основном компоненте:

<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> с компонентом, отображающим результат поиска. (Хотя мой конкретный пример показывает только текст поиска... его можно легко расширить, чтобы использовать этот текст поиска для отображения результатов поиска.)

Я надеюсь, что это поможет вам!

Другие вопросы по тегам