Angular 5およびBootstrap 4でWebアプリケーションを開発していますが、ナビゲーションメニューバーのドロップダウンに問題があります。ドキュメントに従っています。 https://getbootstrap.com/docs/4.0/components/navs/ しかし、ドロップダウンメニューが機能しない理由はわかりません!
<header>
<div class = "row align-items-end nopadding">
<div class = "col-md-3" style = "background-color: blanchedalmond"><app-logo></app-logo></div>
<div class = "col-md-6">
<ul class="nav justify-content-center">
<li class="nav-item">
<a class="nav-link menu-item" href="#">Ligas</a>
</li>
<li class="nav-item">
<a class="nav-link menu-item" href="#">Gráficas</a>
</li>
<li class="nav-item">
<a class="nav-link menu-item" href="#">Artículos</a>
</li>
<li class="nav-item dropdown">
<a class="nav-link menu-item dropdown-toggle" data-toggle="dropdown" href="#" role="button" aria-haspopup="true" aria-expanded="false">Clasificaciones</a>
<div class=" dropdown dropdown-menu">
<a class="dropdown-item menu-item" href="#">Equipos</a>
<a class="dropdown-item menu-item" href="#">Jugadoras</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item" href="#">Separated link</a>
</div>
</li>
</ul>
</div>
<div class = "col-md-3 right-content">
Right column
</div>
</div>
</header>
私は何を間違えていますか?
編集I:
Npmを介してjqueryとpopperを追加し、muy angular-cli.jsonを更新してサーバーを再起動しました。
angular-cli.json:
そして、ページをロードすると、このエラーが発生します:
Error in the source mapping: request failed with status 404
Resource URL: http://localhost:4200/ scripts.bundle.js
Sourcemap URL: bootstrap.min.js.map
Jqueryをインストールすると、次の出力が得られます。
そして、私がポッパーをインストールしたとき、私はこの出力を得ました:
私は何を間違えていますか?
Angularでポップアップまたはドロップダウンするすべてのものに必要なため、popper.js
がBootstrapアプリに含まれて読み込まれることを確認する必要があります。
angular-cli.json
の関連部分は次のようになります。
"styles": [
"../node_modules/bootstrap/dist/css/bootstrap.min.css",
"styles.css"
],
"scripts": [
"../node_modules/jquery/dist/jquery.min.js",
"../node_modules/popper.js/dist/umd/popper.min.js",
"../node_modules/bootstrap/dist/js/bootstrap.min.js"
],
Popper.jsをインストールするには、次のコマンドを使用します。
npm install popper.js --save
_app.module.ts
_に加えて、navbarコードを配置するモジュールにMDBBootstrapModule.forRoot()
モジュールをインポートする必要があります。
例:_../custom.module.ts
_
_import { MDBBootstrapModule } from 'angular-bootstrap-md';
...
@NgModule({
imports: [
CommonModule,
MDBBootstrapModule.forRoot()
],
...
_
スクリプトにポッパー、jquery依存関係を追加する代わりに、ng-bootstrapをインストールできる代わりにこれを試してください( https://ng-bootstrap.github.io でドキュメントを探してください)。ブートストラップ、jquery、およびpopperのスクリプトを追加するよりもng-bootstrapを使用する利点は、バンドルサイズが膨らまないことであり、これらの理由によりangularコミュニティがng-bootstrapを作成しました。インストール手順:
npm install --save @ng-bootstrap/ng-bootstrap