📜  使用ng-bootstrap在AngularJS中包含Bootstrap(1)

📅  最后修改于: 2023-12-03 14:49:49.190000             🧑  作者: Mango

使用ng-bootstrap在Angular中包含Bootstrap

Bootstrap框架是前端开发中非常流行的UI框架之一,而Angular是现代前端开发中非常流行的JavaScript框架之一。在使用Angular开发应用程序时,可以使用ng-bootstrap库轻松集成Bootstrap组件,从而为应用程序添加样式和交互性。

安装ng-bootstrap

使用ng-bootstrap,需要首先使用npm安装该库,可以通过以下命令进行安装:

npm install --save @ng-bootstrap/ng-bootstrap
导入ng-bootstrap

在安装ng-bootstrap之后,需要在Angular应用程序中导入其模块。可以在app.module.ts文件中进行导入:

import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { NgbModule } from '@ng-bootstrap/ng-bootstrap';

import { AppComponent } from './app.component';

@NgModule({
  declarations: [
    AppComponent
  ],
  imports: [
    BrowserModule,
    NgbModule
  ],
  providers: [],
  bootstrap: [AppComponent]
})
export class AppModule { }

在上述代码中,通过import { NgbModule } from '@ng-bootstrap/ng-bootstrap';导入ng-bootstrap的模块,然后在imports数组中将该模块添加到Angular应用程序的依赖项中。

使用ng-bootstrap

通过ng-bootstrap,可以轻松地将Bootstrap组件集成到应用程序中。例如,可以将一个模态框添加到应用程序中:

<button (click)="openModal()">打开模态框</button>

<ng-template #content let-modal>
  <div class="modal-header">
    <h4 class="modal-title">模态框标题</h4>
  </div>
  <div class="modal-body">
    模态框内容
  </div>
  <div class="modal-footer">
    <button class="btn btn-outline-dark" (click)="modal.close()">关闭</button>
  </div>
</ng-template>

在组件的TS文件中需要添加如下代码:

import { Component, ViewChild } from '@angular/core';
import { NgbModal } from '@ng-bootstrap/ng-bootstrap';

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css']
})
export class AppComponent {
  @ViewChild('content') content: any;

  constructor(private modalService: NgbModal) { }

  openModal() {
    this.modalService.open(this.content, { centered: true });
  }
}

在上述代码中,通过import { NgbModal } from '@ng-bootstrap/ng-bootstrap';导入NgModal组件,并且通过ViewChild装饰器引用模板中的模态框。在AppComponent组件中,添加了openModal()方法,使得点击“打开模态框”按钮时,可以打开该模态框。

结论

使用ng-bootstrap,可以轻松地集成Bootstrap组件到Angular应用程序中,使得我们可以更快速地开发现代UI界面。