Angular 4/5 Bootstrap 4 Navbar NgbModule

标签 angular ng-bootstrap

我试图在窗口大小减半时创建一个导航栏下拉菜单。下拉菜单在窗口宽度为 950px 时不起作用,但它在窗口宽度为 768px 时起作用。

navbar.component.html

<nav class="navbar navbar-expand-lg navbar-light bg-light">
  <a class="navbar-brand" href="#">Navbar</a>
  <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNav" (click)="toggleMenu()">
    <span class="navbar-toggler-icon"></span>
  </button>

  <div class="collapse navbar-collapse" id="navbarNav" [ngbCollapse]="isCollapsed">
    <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 dropdown">
        <a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
          Dropdown
        </a>
        <div class="dropdown-menu" aria-labelledby="navbarDropdown">
          <a class="dropdown-item" href="#">Action</a>
          <a class="dropdown-item" href="#">Another action</a>
          <div class="dropdown-divider"></div>
          <a class="dropdown-item" href="#">Something else here</a>
        </div>
      </li>
      <li class="nav-item">
        <a class="nav-link disabled" href="#">Disabled</a>
      </li>
    </ul>
  </div>
</nav>

navbar.component.ts

import { Component } from '@angular/core';
import { NgbModule } from '@ng-bootstrap/ng-bootstrap';

@Component({
  selector: 'app-navbar',
  templateUrl: './navbar.component.html'
})
export class NavbarComponent {
  public isCollapsed = true;

 toggleMenu() {
    this.isCollapsed = !this.isCollapsed;
  }
}

在 950 像素时,下拉菜单不会隐藏菜单项。但是,如果我取消选中类 '.navbar-collapse.collapse' 的 'display: block !important' 则它会起作用。 enter image description here

在 768px 处,下拉菜单开始工作(它隐藏了菜单项)并且下拉按钮移到左侧。 enter image description here

最佳答案

我不确定这是否符合“解决方案”的条件,但希望这对其他人有所帮助。我从 ng-bootstrap 切换到 ngx-bootstrap并使用相同的组件 (Collapse) 我的问题得到解决。

关于Angular 4/5 Bootstrap 4 Navbar NgbModule,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47253106/

相关文章:

angular - 如何以 Angular 5 截取屏幕截图或屏幕视频

angular - 如何使用angular 8将对象的动态数组分配给formgroup

angular - 将日期分配给 ngbDatepicker 的快捷方式

Angular 4 : How to make dynamic tabs using ng-boostrap api

Angular2 和 ngbootstrap Datepicker 以及 NavigateTo() 函数

Angular 2 AOT - 类型上不存在属性 'window'

Angular2 - 如何访问存储在数据属性中的值

ng-bootstrap - 没有 NgbModalStack 的提供者

css - 如何在自定义操作中打开和隐藏 ng-bootstrap datepicker?

angular - 显示 Angular Dart 中对象列表的最佳方法