ng-bootstrap ngbDropdown 在 angular 4 中不工作

ng-bootstrap ngbDropdown not working in angular 4

在我的 angular 4 应用程序中,来自 ng-bootstrap 的 ngbDropdown-Element 无法正常工作。

我已经为这种情况安装了以下 npm 模块:

"@ng-bootstrap/ng-bootstrap": "^1.0.0-alpha.22", "bootstrap": "4.0.0-alpha.6", "bootstrap-sass": "^3.3.7",

我的 app.module.ts 看起来像这样:

import { BrowserModule } from "@angular/platform-browser"
import { NgModule } from "@angular/core";
import { FormsModule } from "@angular/forms";
import { HttpModule } from "@angular/http";

import { AppComponent } from "./app.component";
import { FileitHeaderComponent } from "./fileit-header/fileit-header.component";
import {TranslateModule} from "ng2-translate";
import { CCACampaignComponent } from "./cca-campaign/cca-campaign.component";
import {NgbModule} from "@ng-bootstrap/ng-bootstrap";


@NgModule({
  declarations: [
    AppComponent,
    FileitHeaderComponent,
    CCACampaignComponent
  ],
  imports: [
    BrowserModule,
    FormsModule,
    HttpModule,
    TranslateModule.forRoot(),
    NgbModule.forRoot()
  ],
  providers: [],
  bootstrap: [AppComponent]
})
export class AppModule { }

在 CCA 活动中,我尝试使用 ng-bootstrap:

的演示
<div ngbDropdown class="d-inline-block">
    <button class="btn btn-outline-primary" id="dropdownMenu1" ngbDropdownToggle>Toggle dropdown</button>
        <div class="dropdown-menu" aria-labelledby="dropdownMenu1">
            <button class="dropdown-item">Action - 1</button>
            <button class="dropdown-item">Another Action</button>
            <button class="dropdown-item">Something else is here</button>
        </div>
</div>

但是不幸的是这段代码的结果很糟糕:

当我点击它时没有任何反应...

tl;博士;安装 Bootstrap 4 CSS.

ng-bootstrap requires Bootstrap 4 as documented on the "Getting Started" page。出于某种原因,你有 "bootstrap-sass": "^3.3.7" 所以看起来你正在混合 Bootstrap 版本并且可能有效地使用 Bootstrap 3。

使用 Bootstrap 4 CSS 一切正常,如演示页面所示(以及您可以从中分叉出来的插件):https://ng-bootstrap.github.io/#/components/dropdown

@菲利普 只需对您的 HTML 代码稍作更改:

<div ngbDropdown class="d-inline-block">
    <button class="btn btn-outline-primary" id="dropdownMenu1" ngbDropdownToggle>Toggle dropdown</button>
        <div class="dropdown-menu" aria-labelledby="dropdownMenu1" ngbDropdownMenu>
            <button class="dropdown-item">Action - 1</button>
            <button class="dropdown-item">Another Action</button>
            <button class="dropdown-item">Something else is here</button>
        </div>
</div>

ngbDropdownMenu is property added to "dropdown-menu" div.