Попробуйте это.
В вашем component.ts
import { Component } from '@angular/core';
import { FormBuilder, FormGroup } from '@angular/forms';
@Component({
selector: 'my-app',
templateUrl: './app.component.html',
styleUrls: [ './app.component.css' ]
})
export class AppComponent {
form: FormGroup;
nextClicked = false;
constructor(private fb: FormBuilder) {
this.form = this.fb.group({
age: [20],
name: ['asdas']
});
}
public onSubmit(): void {
if(this.nextClicked) {
////
}else {
////
}
}
public onNextClick(): void {
this.nextClicked = true;
}
public onPreviousClick(): void {
this.nextClicked = false;
}
}
И в вашем component.html
<div>
<form [formGroup]="form" (ngSubmit)="onSubmit()">
<input formControlName="age">
<input formControlName="name">
<button type="submit" (click)="onNextClick()">Next</button>
<button type="submit" (click)="onPreviousClick()">Previous</button>
</form>
</div>
И вы можете найти рабочий пример в этом stackblitz .
Вы можете добавить два отдельных обработчика событий для событий щелчка в двух кнопках отправки. Эти обработчики событий будут сработать перед методом onSubmit
. Вы можете использовать эти два обработчика событий, чтобы обновить состояние в компоненте, чтобы определить, нажал ли пользователь на следующий или предыдущая кнопка.
И в зависимости от этого состояния вы можете направлять пользователя на разные страницы по методу onSubmit
.