Hello friends, welcome back to my blog. Today in this blog post will tell you, 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:
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
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’
Hi. it will work and please get the fresh setup the do.
Thanks.
Please install this as well:
npm i @popperjs/core
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.
Great.
Not working error in
import { Popover } from ‘node_modules/bootstrap/dist/js/bootstrap.esm.min.js’
Did you install this?
npm i @popperjs/core
Thanks for this, works fine.
Great.
It worked for me. the only thing its that my popover dosen’t have style
Good and I think you did not call popover in components.ts file.