Angular 2 中的表单提交状态标志
Form submit status flag in Angular 2
我想显示一个表单提交标志,最终会在用户等待结果时显示为动画。
我正在使用以下功能:
onSubmit(): void {
console.log(JSON.stringify(this.applicationForm));
this.formState = 'submitted';
this.submitService.submitApplicationForm(this.applicationForm)
.then(
success => this.handleSubmissionResponse(success),
failure => this.handleSubmissionResponse(failure)
);
}
在我的表单组件中 class 我有:
export class SendAnswers implements OnInit {
submitStatus = "We are getting your results..."
status = "submitting"
然后一个基本函数来改变上面的标签
submitState(newStatus){
this.submitStatus = newStatus;
this.status = (this.status === 'submitting' ? 'We are getting your results...': 'Your results are below');
}
状态标志:
<div *ngIf="this.formState === 'submitted'">
<h3>{{submitStatus}}</h3>
</div>
如果 angular 2 中不再有 ng-init
,我该如何在 ngIf
语句后调用 submitState
?
你是问我如何在我的应用第一次加载我的组件时调用 submitState 吗?
如果是这样,那么这就是组件上 ngOnInit 生命周期方法的目的。 Angular 在初始化组件时自动调用此方法。
因此您可以在该 ngOnInit 方法中添加初始 submitState 调用。
顺便说一句,由于您的组件实现了 OnInit 接口,那么该 ngOnInit 方法应该已经存在于您的组件中。
编辑
因此假设您的组件上有 onSubmit 和 submitState 作为两个方法,您可以将 onSubmit 调整为如下内容:
onSubmit(): void {
console.log(JSON.stringify(this.applicationForm));
// this.formState = 'submitted'; <--- 为什么会在这里???
this.submitState('submitting');
this.submitService.submitApplicationForm(this.applicationForm)
.then(
success => {
this.submitState('submitted');
this.handleSubmissionResponse(success);
},
failure => this.handleSubmissionResponse(failure)
);
}
submitState(newStatus){
this.submitStatus = newStatus;
this.status = (this.status === 'submitting' ? 'We are getting your results...': 'Your results are below');
}
我想显示一个表单提交标志,最终会在用户等待结果时显示为动画。
我正在使用以下功能:
onSubmit(): void {
console.log(JSON.stringify(this.applicationForm));
this.formState = 'submitted';
this.submitService.submitApplicationForm(this.applicationForm)
.then(
success => this.handleSubmissionResponse(success),
failure => this.handleSubmissionResponse(failure)
);
}
在我的表单组件中 class 我有:
export class SendAnswers implements OnInit {
submitStatus = "We are getting your results..."
status = "submitting"
然后一个基本函数来改变上面的标签
submitState(newStatus){
this.submitStatus = newStatus;
this.status = (this.status === 'submitting' ? 'We are getting your results...': 'Your results are below');
}
状态标志:
<div *ngIf="this.formState === 'submitted'">
<h3>{{submitStatus}}</h3>
</div>
如果 angular 2 中不再有 ng-init
,我该如何在 ngIf
语句后调用 submitState
?
你是问我如何在我的应用第一次加载我的组件时调用 submitState 吗?
如果是这样,那么这就是组件上 ngOnInit 生命周期方法的目的。 Angular 在初始化组件时自动调用此方法。
因此您可以在该 ngOnInit 方法中添加初始 submitState 调用。
顺便说一句,由于您的组件实现了 OnInit 接口,那么该 ngOnInit 方法应该已经存在于您的组件中。
编辑
因此假设您的组件上有 onSubmit 和 submitState 作为两个方法,您可以将 onSubmit 调整为如下内容:
onSubmit(): void { console.log(JSON.stringify(this.applicationForm)); // this.formState = 'submitted'; <--- 为什么会在这里???
this.submitState('submitting');
this.submitService.submitApplicationForm(this.applicationForm)
.then(
success => {
this.submitState('submitted');
this.handleSubmissionResponse(success);
},
failure => this.handleSubmissionResponse(failure)
);
}
submitState(newStatus){
this.submitStatus = newStatus;
this.status = (this.status === 'submitting' ? 'We are getting your results...': 'Your results are below');
}