Angular 14 Bootstrap Modal Popup Example

By Hardik Savani October 20, 2023 Category : Angular


This article will provide example of angular 14 bootstrap modal popup example. Here you will learn angular 14 bootstrap 5 modal example. step by step explain how to use bootstrap modal in angular 14. step by step explain angular 14 bootstrap modal example. You just need to some step to done angular 14 modal popup example.

Ng Bootstrap is developed from bootstrap and they provide all bootstrap 3, bootstrap 4 and bootstrap 5 native Angular 14 directives like a model, pagination, datepicker, buttons etc. Ng Bootstrap will help to easily use bootstrap ui.

In this example we will simply create one model popup, so you can use it in your angular 14 application. we will use model step by step, so you can easily understand it.


Step 1: Create New App

You can easily create your angular app using bellow command:

ng new my-new-app

Step 2: Install Bootstrap 5

In this step, we will install bootstrap core package. so we can use bootstrap css so let's install by following command:

npm install bootstrap --save

Now, we need to include bootstrap css like "node_modules/bootstrap/dist/css/bootstrap.min.css", so let's add it on angular.json file.



"styles": [





Step 3: Install Ng Bootstrap

In this step, we will install Ng Bootstrap package. so we can use bootstrap ui so let's install by following command:

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

Step 4: Import Module

In this step, we need to import NgbModule to app.module.ts file. so let's import it as like bellow:


import { BrowserModule } from '@angular/platform-browser';

import { NgModule } from '@angular/core';

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

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


declarations: [



imports: [




providers: [],

bootstrap: [AppComponent]


export class AppModule { }

Step 5: Updated View File

Now here, we will updated our html file. we will create simple bootstrap model template file.

so let's put bellow code:


<h1>Angular 14 Bootstrap Modal Popup Example - </h1>

<button class="btn btn-lg btn-outline-primary" (click)="open(mymodal)">Open My Modal</button>

<ng-template #mymodal let-modal>

<div class="modal-header">

<h4 class="modal-title" id="modal-basic-title">Bootstrap Modal</h4>

<button type="button" class="close" aria-label="Close" (click)="modal.dismiss('Cross click')">

<span aria-hidden="true">×</span>



<div class="modal-body">

This is example from


<div class="modal-footer">

<button type="button" class="btn btn-outline-dark" (click)="modal.close('Save click')">Ok</button>



Step 4: Use Component ts File

Now we need to update our component.ts file here we will write code of bootstrap model open and close function so, let's update as like bellow:


import { Component } from '@angular/core';

import {NgbModal, ModalDismissReasons} from '@ng-bootstrap/ng-bootstrap';


selector: 'app-root',

templateUrl: './app.component.html',

styleUrls: ['./app.component.css']


export class AppComponent {

title = 'appBootstrap';

closeResult: string = '';



Created constructor



constructor(private modalService: NgbModal) {}


* Write code on Method


* @return response()


open(content:any) {, {ariaLabelledBy: 'modal-basic-title'}).result.then((result) => {

this.closeResult = `Closed with: ${result}`;

}, (reason) => {

this.closeResult = `Dismissed ${this.getDismissReason(reason)}`;




* Write code on Method


* @return response()


private getDismissReason(reason: any): string {

if (reason === ModalDismissReasons.ESC) {

return 'by pressing ESC';

} else if (reason === ModalDismissReasons.BACKDROP_CLICK) {

return 'by clicking on a backdrop';

} else {

return `with: ${reason}`;




Run Angular App:

All the required steps have been done, now you have to type the given below command and hit enter to run the Angular app:

ng serve

Now, Go to your web browser, type the given URL and view the app output:


If you found error "Angular 14 introduced a global `$localize()` function that needs to be loaded." then you can see solution here: Solution.

I hope it can help you...