Кажется, что дочерний компонент устанавливается только при первом запуске Observable.
Контейнерный компонент (добавлен оператор карты для отладки):
this.form$ = this.createOrderStore.pipe(select(getFormGroup)).pipe(
tap((val) => {
console.log('observable emitted');
console.log(val);
return val;
})
);
Дочерний компонент:
private _form: FormGroup;
@Input()
set form(val) {
console.log('set form');
if (val) {
this._form = val;
}
}
get form() {
return this._form;
}
Шаблон контейнера:
<app-order-form [form]="form$ | async"></app-order-form>
В первый раз, когда наблюдаемое излучает, консоль показывает «наблюдаемое излученное», значение val не определено, затем «задайте форму».Однако, так как это первое значение не определено, мы еще не установили его в шаблоне.
Во второй раз, когда наблюдаемое излучает, консольные журналы 'наблюдаемые испускаются', val является полной группой форм (поэтомуобнаружение изменения триггера), но «заданная форма» не регистрируется.Это второе значение, которое мне действительно нужно установить в шаблоне.
Есть ли причина, по которой свойство дочернего компонента устанавливается только в первый раз, когда наблюдаемое излучает?