Awesome
ngx-countdown
Simple, easy and performance countdown for angular
Demo
Usage
1. Install
npm install ngx-countdown --save
import CountdownModule
。
import { CountdownModule } from 'ngx-countdown';
@NgModule({
imports: [ BrowserModule, CountdownModule ],
declarations: [AppComponent],
bootstrap: [AppComponent]
})
export class AppModule { }
2、Template
<countdown #cd [config]="config" (event)="handleEvent($event)" />
Method
Name | Description |
---|---|
begin() | Start countdown, you must manually call when demand: false |
restart() | Restart countdown |
stop() | Stop countdown, must call restart when stopped, it's different from pause, unable to recover |
pause() | Pause countdown, you can use resume to recover again |
resume() | Resume countdown |
How call component methods
@ViewChild('cd', { static: false }) private countdown: CountdownComponent;
this.countdown.begin();
Standalone
@Component({
template: `<countdown />`,
imports: [CountdownComponent],
})
export class App
API
countdown
Name | Type | Default | Summary |
---|---|---|---|
config | CountdownConfig | - | Config |
event | EventEmitter<CountdownEvent> | - | Events |
CountdownConfig
Name | Type | Default | Summary |
---|---|---|---|
demand | boolean | false | Start the counter on demand, must call begin() to starting |
leftTime | number | 0 | Calculate the remaining time based on the server, e.g: 10 ,5.5 , (Unit: seconds) |
stopTime | number | - | Refers to counting down from local time to end time (Unit: Milliseconds second UNIX timestamp) |
format | string | HH:mm:ss | Formats a date value, pls refer to Accepted patterns |
prettyText | (text: string) => string | - | Beautify text, generally used to convert formatted time text into HTML |
notify | number[], number | - | Should be trigger type notify event on the x second. When values is 0 will be trigger every time |
formatDate | CountdownFormatFn | - | Default based on the implementation of formatDate in @angular/common , You can changed to other libs, e.g: date-fns |
timezone | string | +0000 | A timezone offset (such as '+0430'), or a standard UTC/GMT. When not supplied, uses the end-user's local system timezone |
CountdownEvent
Name | Type | Summary |
---|---|---|
action | start,stop,restart,pause,resume,notify,done | Action of the event |
status | CountdownStatus | Status of the countdown |
left | number | Number of remaining milliseconds |
text | string | Format the text |
Global Config
bootstrapApplication(AppComponent, {
providers: [provideCountdown({ format: `mm:ss` })],
}).catch((err) => console.error(err));
Troubleshooting
Please follow this guidelines when reporting bugs and feature requests:
- Use GitHub Issues board to report bugs and feature requests (not our email address)
- Please always write steps to reproduce the error. That way we can focus on fixing the bug, not scratching our heads trying to reproduce it.
Thanks for understanding!
License
The MIT License (see the LICENSE file for the full text)