我有一个使用ngrx的Angular应用程序,并且有一组表单字段。我需要订阅所有这些内容,以便在它们更改时可以执行操作。我需要及时了解所有特定领域的错误。
//订阅列表中每个字段的状态更改
for (const field of this.fields) {
this.form.controls[field.id].statusChanges
.subscribe((status) => {
// Accessing field.id from here seems to work but I don't understand why
const thisFieldErrors = this.form.controls[field.id].errors;
// Other fields' errors??
});
}
我曾经考虑过使用withLatestFrom,但是我不知道如何传递每个字段状态的订阅列表。
答案 0 :(得分:1)
我想您需要的是:
/* Define css class for global loading message to cover
screen during axios operations */
.loading-indicator:before {
content: '';
background: #000000cc;
position: fixed;
width: 100%;
height: 100%;
top: 0;
left: 0;
z-index: 1000;
}
.loading-indicator:after {
content: 'Loading';
position: fixed;
width: 100%;
top: 50%;
left: 0;
z-index: 1001;
color:white;
text-align:center;
font-weight:bold;
font-size:1.5rem;
}
答案 1 :(得分:0)
我要做的就是遍历表单控件...
for (const field of this.fields) {
this.form.controls[field.id].statusChanges
.subscribe((status) => {
for (const fieldKey in this.form.controls) {
if (this.form.controls.hasOwnProperty(fieldKey)) {
console.log(this.form.controls[fieldKey].errors);
}
}
});
}