
ng-particles

Official tsParticles Angular component


How to use it
Install
npm install ng-particles tsparticles
or
yarn add ng-particles tsparticles
Usage
template.html
<ng-particles [id]="id" [options]="particlesOptions" (particlesLoaded)="particlesLoaded($event)"
[particlesInit]="particlesInit"></ng-particles>
<ng-particles [id]="id" [url]="particlesUrl" (particlesLoaded)="particlesLoaded($event)"
[particlesInit]="particlesInit"></ng-particles>
app.ts
export class AppComponent {
id = "tsparticles";
particlesUrl = "http://foo.bar/particles.json";
particlesOptions = {
background: {
color: {
value: "#0d47a1"
}
},
fpsLimit: 120,
interactivity: {
events: {
onClick: {
enable: true,
mode: "push"
},
onHover: {
enable: true,
mode: "repulse"
},
resize: true
},
modes: {
bubble: {
distance: 400,
duration: 2,
opacity: 0.8,
size: 40
},
push: {
quantity: 4
},
repulse: {
distance: 200,
duration: 0.4
}
}
},
particles: {
color: {
value: "#ffffff"
},
links: {
color: "#ffffff",
distance: 150,
enable: true,
opacity: 0.5,
width: 1
},
move: {
direction: "none",
enable: true,
outModes: "bounce",
random: false,
speed: 6,
straight: false
},
number: {
density: {
enable: true,
area: 800
},
value: 80
},
opacity: {
value: 0.5
},
shape: {
type: "circle"
},
size: {
value: { min: 1, max: 5 }
}
},
detectRetina: true
};
particlesLoaded(container: Container): void {
console.log(container);
}
particlesInit(main: Main): void {
console.log(main);
}
}
app.module.ts
import { NgParticlesModule } from "ng-particles";
import { NgModule } from "@angular/core";
@NgModule({
declarations: [
],
imports: [
NgParticlesModule
],
providers: [],
bootstrap: [
]
})
export class AppModule {
}
Demos
The demo website is here
https://particles.js.org
There's also a CodePen collection actively maintained and updated here
https://codepen.io/collection/DPOage