Angular 12 Bootstrap 5 Popover Working Demo

Angular 12 Bootstrap 5 Popover Working Demo

Hello friends, welcome back to my blog. Today in this blog post will tell you, Angular 12 Bootstrap 5 Popover Working Demo.


Bootstrap 5 Popover

Angular 12 Bootstrap 5 Popover Working Demo
Angular 12 Bootstrap 5 Popover Working Demo

Angular 12 came and Bootstrap 5 also and if you are new then you must check below two links:

  1. Angular12 Basic Tutorials
  2. Bootstrap 5

Friends now I proceed onwards and here is the working code snippet and please use carefully this to avoid the mistakes:

1. Firstly friends we need fresh angular 12 setup and for this we need to run below commands but if you already have angular 12 setup then you can avoid below commands. Secondly we should also have latest node version installed on our system:

npm install -g @angular/cli 

ng new angularboot5 //Create new Angular Project

cd angularboot5 // Go inside the Angular Project Folder

2. Now friends we need to run below commands into our project terminal to install bootstrap 5 modules into our angular application:

npm install bootstrap

npm i @popperjs/core

3. Now friends we just need to add below code into angularboot5/src/app/app.component.html file to get final out on the web browser:

<div class="container p-5">
    <h1 class="mb-5">therichpost.com</h1>
    <button type="button" class="btn btn-secondary me-2" data-bs-container="body" data-bs-toggle="popover" data-bs-placement="top" data-bs-content="Top popover">
      Popover on top
    </button>
    <button type="button" class="btn btn-secondary me-2" data-bs-container="body" data-bs-toggle="popover" data-bs-placement="right" data-bs-content="Right popover">
      Popover on right
    </button>
    <button type="button" class="btn btn-secondary me-2" data-bs-container="body" data-bs-toggle="popover" data-bs-placement="bottom" data-bs-content="Bottom popover">
      Popover on bottom
    </button>
    <button type="button" class="btn btn-secondary me-2" data-bs-container="body" data-bs-toggle="popover" data-bs-placement="left" data-bs-content="Left popover">
      Popover on left
    </button>
  </div>

4. Now friends we just need to add below code into angularboot5/src/app/app.component.ts file:

...
import { Popover } from 'node_modules/bootstrap/dist/js/bootstrap.esm.min.js'


export class AppComponent {
 ...

  ngOnInit() {
    Array.from(document.querySelectorAll('button[data-bs-toggle="popover"]'))
    .forEach(popoverNode => new Popover(popoverNode))
    
    
  }
}

5. Guy’s now add below code into angularboot5/angular.json file:

"styles": [
              ...
              "node_modules/bootstrap/dist/css/bootstrap.min.css"
          ],
"scripts": [
              ...
               "node_modules/bootstrap/dist/js/bootstrap.min.js"
           ]

Friends in the end must run ng serve command into your terminal to run the angular 12 project(localhost:4200).

Now we are done friends. If you have any kind of query, suggestion and new requirement then feel free to comment below.

Note: Friends, In this post, I just tell the basic setup and things, you can change the code according to your requirements.

I will appreciate that if you will tell your views for this post. Nothing matters if your views will be good or bad because with your views, I will make my next posts more good and helpful.

Jassa

Thanks

Comments

11 responses to “Angular 12 Bootstrap 5 Popover Working Demo”

  1. GUstavo Avatar
    GUstavo

    Thank you for the guide!
    Can not import node_modules inside app.component.ts

    this line does not work :

    import { Popover } from ‘node_modules/bootstrap/dist/js/bootstrap.esm.min.js’

    1. Ajay Malhotra Avatar

      Hi. it will work and please get the fresh setup the do.
      Thanks.

    2. Ajay Malhotra Avatar

      Please install this as well:
      npm i @popperjs/core

      1. Gustavo Avatar
        Gustavo

        I’m using Angular on ‘strict’ mode, maybe that is why I can’t import from folder “node_modules”.

        I solved it by installing :

        npm i @types/bootstrap (installing this INSTEAD OF @popperjs/core AND importing bootstrap’s scripts inside angular.json file)

        Then importing Popover like so:

        import { Popover } from ‘bootstrap’;

        But I couldn’t have learned it without your help, thank you so very much.

  2. Roger Avatar
    Roger

    Not working error in
    import { Popover } from ‘node_modules/bootstrap/dist/js/bootstrap.esm.min.js’

    1. Ajay Malhotra Avatar

      Did you install this?
      npm i @popperjs/core

  3. Kailash Kumar Avatar
    Kailash Kumar

    Thanks for this, works fine.

  4. JAVIER Avatar
    JAVIER

    It worked for me. the only thing its that my popover dosen’t have style

    1. Ajay Malhotra Avatar

      Good and I think you did not call popover in components.ts file.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.