こんにちは。サイオステクノロジー技術部 木村です。
今回は、Angularの開発でBootstrapを使用する方法を記載します。導入にはngx-bootstrapを使用します。ngx-bootstrapはBootstrapのラッパーで、Bootstrapの機能をコンポーネントやディレクティブの形式で使用できるようにしてくれます。
(以下はAngular-cliが導入されていることを前提とした手順です。Angular-cliが導入されていない場合は、事前に導入してください。)
Angularプロジェクト作成
newコマンドを使用してプロジェクトを作成します。
ng new sample1
bootstrapのインストールとcss追加
npmでbootstrapをインストールします。ルート直下で以下のコマンドを実行します。
npm install bootstrap –save
インストールが成功すると、/node_modulesフォルダー配下にbootstrapというフォルダーが作成されます。
/node_modules/bootstrap/dist/cssフォルダー配下にBootstrapのcssが配置されていますので、「angular-cli.json」のstylesに使用するcssを追加します。
"styles": [ "styles.css", "../node_modules/bootstrap/dist/css/bootstrap.min.css" ],
※/node_modules/bootstrap/dist/cssフォルダー配下にあるbootstrap.cssとbootstrap.min.cssは、内容は一緒ですが、bootstrap.min.cssはスペースや改行などを削除してファイル容量を小さくしてあります。そのため読み込むcssはbootstrap.min.cssの方を指定します。
ngx-bootstrapのインストール
npmでngx-bootstrapをインストールします。ルート直下で以下のコマンドを実行します。
npm install ngx-bootstrap –save
インストールが成功すると、/node_modulesフォルダー配下にngx-bootstrapというフォルダーが作成されます。
ngx-bootstrapモジュールのインポート定義
「app.module.ts」にモジュールのインポート定義を記載します。以下の例ではアコーディオンパネル表示を行うAccordionModuleをインポートしていますが、使用したい機能に応じて適宜インポート定義を記載します。
importsパラメータには、AccordionModuleそのものではなく、forRootメソッドの戻り値をセットします。
import { BrowserModule } from '@angular/platform-browser'; import { NgModule } from '@angular/core'; import { AccordionModule } from 'ngx-bootstrap'; import { AppComponent } from './app.component'; @NgModule({ declarations: [ AppComponent ], imports: [ BrowserModule, AccordionModule.forRoot() ], providers: [], bootstrap: [AppComponent] }) export class AppModule { }
以上で機能を利用する準備ができました。
実装
例として、アコーディオンパネル表示を作成するには、「app.component.html」に以下のように実装します。
<div style="width: 100%; max-width: 350px; margin: 50px auto; background: #fff;"> <accordion [closeOthers]="true"> <accordion-group heading="SAMPLE1" [isOpen]="true"> サンプル1です。 </accordion-group> <accordion-group heading="SAMPLE2" [isOpen]="false"> サンプル2です。 </accordion-group> <accordion-group heading="SAMPLE3" [isOpen]="false"> サンプル3です。 </accordion-group> </accordion> </div>
上記実装で、以下のようなアコーディオンパネルが作成できます。
とても簡単にアコーディオンパネルが作成できました。
皆さんも是非使ってみてください。