Я изо всех сил пытаюсь найти элегантный способ перевести Angular's myForm.StatusChanges
в более простой Observable<boolean>
, указывающий, действительна ли форма:
this.valid$ = new Observable<string>();
const validObs$ = valid$.pipe(map( x => {
console.log('x is: ' + x);
return 'VALID' === x;
}));
// This following line happens somewhere else, as soon as myForm is set
this.myForm.statusChanges.subscribe(this.valid$);
// Consume validObs$ wherever needed
Я почти уверен, что есть лучший, более элегантныйпрямой путь для того, чтобы перевести statusChanges
в простое логическое значение Observable?
Edit : я должен переоценить свой вопрос следующим образом: Как я могу создать Observable<boolean>
(отображениеформы статуса) и связать это на более позднем этапе с myForm.statusChanges
?Обратите внимание, что в моем примере Observable имеет тип не логический, а строковый.
Edit 2: Хорошо, я придумал этот
// In ctor:
this.mySubject = new Subject<boolean>();
// Later on, somewhere else
this.myForm.statusChanges.pipe(map(s => 'VALID' === s)).subscribe(this.subject);
Iдумаю, это то, что мне нужно:)