Avoid Angular2 to systematically submit form on button click

I see two options to solve it:

1) Specify type=”button” explicitly (i think it’s more preferable):

<button type="button" (click)="preview();">Preview</button>

According to W3 specification:

2) Use $event.preventDefault():

<button (click)="preview(); $event.preventDefault()">Preview</button>

or

<button (click)="preview($event);">Preview</button>

preview(e){
  e.preventDefault();
  console.log('preview')
}

Leave a Comment