Как скрыть компонент извне?

В основном компоненте вставлен компонент с блоком div, который имеет абсолютное позиционирование относительно родителя.

Блок можно открыть и скрывать по клику:

public show = false;

showHide() {
    this.show = !this.show;
}


Как скрыть этот блок извне? Например когда пользователь фокусируется на другом компоненте? Сейчас блок перекрывает рабочую область, что мешает работе.

Не хочется под одну переменную show создавать сервис...
  • Вопрос задан
  • 32 просмотра
Пригласить эксперта
Ответы на вопрос 3
Xuxicheta
@Xuxicheta Куратор тега Angular
инженер

Не хочется под одну переменную show создавать сервис...


а зря. Сервис под один сабджект, типа шина событий вполне нормально.
Чем конкретней функционал сервиса, тем лучше.
Ответ написан
@Junart1 Автор вопроса
А можно вместе сервис сделать статический класс со статической переменной? и еще дергать, где нужно
Ответ написан
@ha100790tag
если я правильно понял вопрос...

@Input()
set showOutside(show) {
this.show = show;
}


ну и соответственно передавайте снаружи в инпут компонента что то вроде [showOutside]="true"
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
04 апр. 2020, в 21:01
35000 руб./за проект
04 апр. 2020, в 20:32
5000 руб./за проект
04 апр. 2020, в 20:30
25000 руб./за проект