Я использую ng-bootstrap с Angular 8, и у меня проблема с навигационной панелью. Панель навигации ведет себя правильно с точки зрения реагирования и открытия / закрытия при нажатии на значок гамбургера, но проблема в том, что он не «автоматически закрывается» при нажатии одной из ссылок или когда пользователь нажимает «за пределами» панели навигации. Он закроется, только если пользователь снова нажмет на гамбургер. Есть ли способ использовать ng-bootstrap, чтобы автоматически закрывать панель навигации?
В своем исследовании я нашел несколько примеров того, как настроить навигационную панель с Angular 4+ и ng-bootstrap, и я заметил, что даже у «правильных» примеров есть та же проблема. Можно ли даже автоматически закрыть панель навигации по клику? Вот несколько примеров:
Это типичный код, который я нашел для панели навигации с помощью ng-bootstrap:
<nav class="navbar navbar-expand-md navbar-light bg-faded">
<button class="navbar-toggler navbar-toggler-right" type="button" (click)="isNavbarCollapsed = !isNavbarCollapsed" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<a class="navbar-brand" href="#">Navbar</a>
<div [ngbCollapse]="isNavbarCollapsed" class="navbar-collapse" id="navbarSupportedContent">
<ul class="navbar-nav mr-auto">
<li class="nav-item active">
<a class="nav-link" href="#">Home <span class="sr-only">(current)</span></a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Link</a>
</li>
<li class="nav-item">
<a class="nav-link disabled" href="#">Disabled</a>
</li>
</ul>
</div>
</nav>
Вот примеры плункеров и стекаблиц:
http://plnkr.co/edit/PlGTWzSGqawgQC2wfKp8?p=preview
https://stackblitz.com/edit/angular-ww6oap
В обоих примерах вы увидите, что навигационная панель работает, но нажатие на ссылку или вне навигационной панели не закрывает ее. Только нажав на значок гамбургера снова закрывает его.