Лучший способ подписаться на изменения истинного значения FormControl в Angular 2?

Поскольку никто не отправил код ответа на этот вопрос:

notification.flags = Notification.FLAG_AUTO_CANCEL;

.. и если у вас уже есть флаги, вы можете ИЛИ FLAG_AUTO_CANCEL следующим образом:

notification.flags = Notification.FLAG_INSISTENT | Notification.FLAG_AUTO_CANCEL;
1
задан displayName 21 February 2019 в 14:49
поделиться

2 ответа

Начальное состояние diverUntilChanged всегда пусто. Но при выдаче первого значения отлично сохраняется до первого сохраненного значения. После этого выдается второе значение, оно сравнивает новое значение и сохраненное значение. Таким образом, ваше решение верное, или вы можете использовать skipWhile для первого сравнения значений.

0
ответ дан Emre HIZLI 21 February 2019 в 14:49
поделиться

Если я правильно понимаю вопрос, вы хотите, чтобы ваша наблюдаемая сработала только при любом изменении значения, кроме начального значения?

Вы пытались установить значение при создании элемента управления формы

new FormControl({ value: 1 });

или вы можете указать, что не хотите отправлять событие при установке значения

const formControl1 =new FormControl(1); formControl1.setValue(1, { emitEvent: false });

В соответствии с документом вы можете указать параметры при установке значения, в том числе:

emitEvent: когда true или не указано (по умолчанию ), и наблюдаемые состояния statusChanges и valueChanges генерируют события с самым последним состоянием и значением при обновлении значения элемента управления. При значении false события не генерируются.

Надеюсь, это поможет!

0
ответ дан Bart de Ruijter 21 February 2019 в 14:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: