• Angular 6 - как настроить взаимодействие между компонентами?

    Mantikore
    @Mantikore Автор вопроса
    Всё нашла сама в https://angular.io/guide/component-interaction насчет обычных subject. Сработало на ура через сервис. Спасибо, за то что задали направление поиска =D
  • Angular 6 - как настроить взаимодействие между компонентами?

    Mantikore
    @Mantikore Автор вопроса
    У меня получилось вытащить ивент логина во внешний system через @Output() и добавить в app-header этот ивент, с помощью @Input(), таким образом мой компонент app-header подписался на изменения в компоненте авторизации. Нормальное решение?
    <app-header [isLoggedIn]="isLoggedIn"></app-header>
    <div class="left-menu">
           <app-login (loginEmitter)="updateLoginStatus($event)"></app-login>
    </div>
    <div class=" main-section">
            <router-outlet></router-outlet>
    </div>
    <app-footer></app-footer>

    export class SystemComponent {
        isLoggedIn = Boolean(window.localStorage.getItem('isLogged'));
        updateLoginStatus($event: Event) {
            $event ? this.isLoggedIn = true : this.isLoggedIn = false;
        }
    }


    Но как этот ивент засунуть в router-outlet я не знаю, вроде бы нельзя эти инпуты использовать в router-outlet. Насчет BehaviorSubject в документации ничего не нашла. Если не сложно, киньте ссылочку, где прочитать как подписывать компонент на ивент в другом компоненте при помощи async и BehaviorSubject?