Привет, у меня есть приватный Subject
, который я не хочу показывать, поэтому я создаю Observable
s из одного Subject
:
public numberChange$: Observable<number>;
public oddChange$: Observable<number>;
public evenChange$: Observable<number>;
private number: Subject<number>;
constructor() {
this.number = new Subject<number>();
this.numberChange$ = this.number.asObservable();
this.oddChange$ = this.number.filter(n => n % 2 === 1).asObservable();
this.evenChange$ = this.number.filter(n => n % 2 === 0).asObservable();
}
, чтобы другие могли подписаться наnumberChange$
если они хотят знать, когда номер изменился.Если они хотят знать ТОЛЬКО, когда изменение является нечетным числом, они могут подписаться на oddChange$
.То же самое касается evenChange$
.
Приведенный выше код не работает, потому что после this.number.filter()
я больше не могу звонить asObservable()
.Как исправить код, приведенный выше, чтобы добиться того, что я описал?