DEV Community

Cover image for Angular : How to add lightbox in your angular project just in 10 minutes?
Rajesh Kumar Yadav
Rajesh Kumar Yadav Subscriber

Posted on • Originally published at developersdiscussion.com

6 1

Angular : How to add lightbox in your angular project just in 10 minutes?

Demo -

Image

Step 1 - Install lightobox

Open your terminal and run below command -



npm install --save ngx-lightbox


Enter fullscreen mode Exit fullscreen mode

Step 2 - Update your angular.json



{ "styles": ["./node_modules/ngx-lightbox/lightbox.css", ...],}


Enter fullscreen mode Exit fullscreen mode

Step 3 - Add Lightbox Module to your app.module.ts



import { LightboxModule } from 'ngx-lightbox'; @NgModule({ imports: [LightboxModule]})


Enter fullscreen mode Exit fullscreen mode

You can do the next steps in your choice of components but I am assuming I need to make lightbox in app.component.html

Step 4 - Add markup to html of your component

app.component.html



<div *ngFor="let image of _albums; let i=index"> <img [src]="image.thumb" (click)="open(i)" /></div>


Enter fullscreen mode Exit fullscreen mode

Step 5 - Add lightbox code to your component's ts file,

app.component.ts



import { Lightbox } from 'ngx-lightbox'; 

export class AppComponent { 
private _album: Array = []; 

constructor(private _lightbox: Lightbox) {
 for (let i = 1; i <= 4; i++) {
 const src = 'demo/img/image' + i + '.jpg'; const caption = 'Image ' + i + ' caption here'; 
 const thumb = 'demo/img/image' + i + '-thumb.jpg'; 
 const album = { src: src, caption: caption, thumb: thumb }; 
this._albums.push(album); 
} 
} 

open(index: number): void { // open lightbox 
this._lightbox.open(this._albums, index); 
} 

close(): void { // close lightbox programmatically 
this._lightbox.close(); 
}} 


Enter fullscreen mode Exit fullscreen mode

Buy Me A Coffee

With all that being said, I highly recommend you keep learning!

Thank you for reading this article. Please feel free to connect with me on LinkedIn and Twitter.

Latest comments (2)

Collapse
 
sirinibin profile image
sirin k • Edited

with Angular14, The configuration options are not working. also the loading button keep on loading on top of the image.
this._lightbox.open(images, index,{showDownloadButton:true});

Collapse
 
paidimarri_manikanta_0cf8 profile image
paidimarri manikanta

I am also encountering the same loading icon issue. Have you found any alternative solutions for this?

If you've successfully implemented the lightbox, I would appreciate it if you could share the method.

👋 Kindness is contagious

Engage with a wealth of insights in this thoughtful article, cherished by the supportive DEV Community. Coders of every background are encouraged to bring their perspectives and bolster our collective wisdom.

A sincere “thank you” often brightens someone’s day—share yours in the comments below!

On DEV, the act of sharing knowledge eases our journey and forges stronger community ties. Found value in this? A quick thank-you to the author can make a world of difference.

Okay