I am trying to execute an event before a routerLink in angular 4.
I'm interested in the button at the very bottom of my page.
<div >
<button class="btn btn-primary"
(click)="createTeacher()"
routerLink ='/teacher'
>Submit</button>
</div>
I want to know if there is a way to make sure the (click)="createTeacher()"
event happens before the routerlink shifts the page, so the recent create will appear in that new list.
<form class="teacher">
<div class="form-group">
<label for="">Name</label>
<input required [(ngModel)]=teacher.name name="name"
#name="ngModel"
id ="name"
type="text"
class="form-control">
<div class="alert alert-danger"
*ngIf="name.touched && !name.valid">
Name is required
</div>
<label for="">About Me</label>
<textarea [(ngModel)]=teacher.aboutMe name="about"
#name="ngModel"
id="about"
cols="30"
rows="10"
class="form-control">
</textarea>
<label for="">Location</label>
<input required [(ngModel)]=teacher.location name="loc"
#name="ngModel"
id="loc"
type="text"
class="form-control">
<label for="">Email</label>
<input required [(ngModel)]=teacher.email name="email"
#name="ngModel"
id="email"
type="text"
class="form-control">
<label for="">Phone</label>
<input required [(ngModel)]=teacher.phone name="phone"
#name="ngModel"
id="phone"
type="text"
class="form-control">
</div>
<div >
<button class="btn btn-primary"
(click)="createTeacher()"
routerLink ='/teacher'
>Submit</button>
</div>
</form>
Following is my component that the Html is associated with.
import { RouterModule } from '@angular/router';
import { Component, OnInit } from '@angular/core';
import ITeacherModelAngular from '../Share/ITeacherModelAngular';
import { TeacherService } from '../teacher-service.service';
import TeacherModel from '../Share/TeacherModel';
@Component({
selector: 'app-new-teach-form',
templateUrl: './new-teach-form.component.html',
styleUrls: ['./new-teach-form.component.css']
})
export class NewTeachFormComponent implements OnInit {
teacher: TeacherModel;
constructor(private service$: TeacherService) {
this.teacher = new TeacherModel();
}
ngOnInit() {
}
createTeacher() {
this.service$.createTeacher(this.teacher);
this.service$.getTeacherIndex();
}
}
Any help will be appreciated, Thanks.