Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Auto redirecting after n seconds using Angular 2

I wanted to display a page for 'n' seconds and then redirect to another route.

Came across a couple of stackoverflow posts (url1 and url2) about auto redirecting after 'n' seconds in Angular 1.x. But I m confused how to implement the same in Angular2?

like image 520
Philip John Avatar asked Feb 27 '17 14:02

Philip John


2 Answers

You can inject and use Router from @angular/router and navigate in setTimeout.

import { Router } from '@angular/router';

constructor(private router: Router) {}

ngOnInit() {
    // do init at here for current route.

    setTimeout(() => {
        this.router.navigate(['nextRoute']);
    }, 5000);  //5s
}
like image 191
Pengyy Avatar answered Nov 18 '22 08:11

Pengyy


its a-bit sketchy but this will work.

    setTimeout(() => {
          setTimeout(() => {
            this.router.navigateByUrl("/home");
          });
        }, 3400);
      }
like image 34
Alex Richkov Avatar answered Nov 18 '22 06:11

Alex Richkov