TeodorKolev TeodorKolev - 14 days ago 12
Javascript Question

Angular 2 redirect on click

How to create simple redirect on click on some button in Angular 2? Already tried:

import {Component, OnInit} from 'angular2/core';
import {Router, ROUTER_PROVIDERS} from 'angular2/router'

@Component({
selector: 'loginForm',
templateUrl: 'login.html',
providers: [ROUTER_PROVIDERS]
})

export class LoginComponent implements OnInit {

constructor(private router: Router) { }

ngOnInit() {
this.router.navigate(['./SomewhereElse']);
}

}

Answer

You could leverage the event support of Angular2:

@Component({
  selector: 'loginForm',
  template: `
    <div (click)="redirect()">Redirect</div>
  `,
  providers: [ROUTER_PROVIDERS]
})
export class LoginComponent implements OnInit {
  constructor(private router: Router) { }

  redirect() {
    this.router.navigate(['./SomewhereElse']);
  }
}