【发布时间】:2018-11-08 15:04:12
【问题描述】:
我正在尝试在角度 4 的 routerLink 之前执行一个事件。
我对页面最底部的按钮感兴趣。
<div >
<button class="btn btn-primary"
(click)="createTeacher()"
routerLink ='/teacher'
>Submit</button>
</div>
我想知道是否有办法确保 (click)="createTeacher()" 事件在 routerlink 移动页面之前发生,因此最近创建的内容将出现在该新列表中。
<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>
以下是我与 Html 关联的组件。
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();
}
}
任何帮助将不胜感激, 谢谢。
【问题讨论】:
-
您可以删除
routerLink参数并在createTeacher方法中执行router.navigate('your-url')吗?这就是您更好地控制操作顺序的原因
标签: angular