Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
У вас в коде опечатки, он не будет работать.)
class Switch {
static create({ enabled }: { enabled: boolean } = { enabled: false }): Switch {
return new Switch(new BehaviorSubject(enabled));
}
get enabled(): boolean {
return this.enabledSubject.value;
}
enabled$: Observable<boolean> = this.enabledSubject.asObservable();
private constructor(private enabledSubject: BehaviorSubject<boolean>) {}
toggle(): void {
this.enabledSubject.next(!this.enabled);
}
}
export class SampleComponent {
somethingSwitch = Switch.create();
@Output() somethingSelected = this.somethingSwitch.enabled$()
...
}
Кастомные Subject'ы в Angular: выносим логику из компонентов для переиспользования