Ребят, почему из стрима добавляю значение в директиву, но оно отрабатывает только с первым эмитом? Директива @Directive({ selector: '[foo]', }) export class FooDirective { @Input() set foo(flag: boolean) { console.log('flag', flag) } } Навешиваю ее так: <li [foo]="callFoo(id) | async" > Функция: callFoo(input: number): Observable<boolean> { return this.subj$.pipe( startWith(false), map((id) => input === id), tap(v => console.log('call', v)) ) } При первом вызове вызывается call false flag false При мите в subj$ в лог вызывается только call true
startwith ж один раз только отрабатывает
startWith срабатывает каждый раз, потому что метод вызывается при каждом рендере и возвращает новое значение
Обсуждают сегодня