Угловая сдвижная боковая панель 2+ снаружи розетки маршрутизатора - PullRequest
0 голосов
/ 24 июня 2018

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

app-component:

<nav>
<router-outlet>
<sidebar>

Когда боковая панель открыта, я бы хотел выделить серым цветом остальные элементы.экран и нажмите в любом месте (кроме боковой панели закройте боковую панель).То, как я думал сделать это, обернуть nav и router-outlet в div событием click, чтобы закрыть боковую панель.Управление боковой панелью / закрытие / переключение осуществляется с помощью службы.Проблема, с которой я сталкиваюсь, заключается в обертывании выхода маршрутизатора (и nav) таким образом, что он перекрывает фактические нажатия кнопок внутри маршрутов, предназначенных для открытия боковой панели.Любой совет?Большое спасибо

1 Ответ

0 голосов
/ 24 июня 2018

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

Я не думаю, что вы будете делать это внутри боковой панели, а скорее контроллер, который размещает боковую панель, например, родительский.Если вам нужен код, дайте мне знать, но я подумал, что этот ответ направит вас по правильному пути.

Еще одна вещь, которую вы можете сделать, если у вас есть контроль над ползунком, вы можете получить его модальный div,У меня нет никакого кода для этого.

...