Поскольку никто не отправил код ответа на этот вопрос:
notification.flags = Notification.FLAG_AUTO_CANCEL;
.. и если у вас уже есть флаги, вы можете ИЛИ FLAG_AUTO_CANCEL следующим образом:
notification.flags = Notification.FLAG_INSISTENT | Notification.FLAG_AUTO_CANCEL;
Начальное состояние diverUntilChanged всегда пусто. Но при выдаче первого значения отлично сохраняется до первого сохраненного значения. После этого выдается второе значение, оно сравнивает новое значение и сохраненное значение. Таким образом, ваше решение верное, или вы можете использовать skipWhile для первого сравнения значений.
Если я правильно понимаю вопрос, вы хотите, чтобы ваша наблюдаемая сработала только при любом изменении значения, кроме начального значения?
Вы пытались установить значение при создании элемента управления формы
new FormControl({ value: 1 });
или вы можете указать, что не хотите отправлять событие при установке значения
const formControl1 =new FormControl(1);
formControl1.setValue(1, { emitEvent: false });
В соответствии с документом вы можете указать параметры при установке значения, в том числе:
emitEvent: когда true или не указано (по умолчанию ), и наблюдаемые состояния statusChanges и valueChanges генерируют события с самым последним состоянием и значением при обновлении значения элемента управления. При значении false события не генерируются.
blockquote>Надеюсь, это поможет!