169 похожих чатов

@Thekiba подскажите пожалуйста как мне по нажатию на кнопку в

шаблоне отправлять на сервер данные реактивной формы только в том случае, если они менялись..? Исходная такая
1. в ngOnInit инициализирую форму
2. Подписываюсь на получение данных формы с сервера
3. Перехватываю в tap данные для формы и отправляю их прямиком в форму с помощью patchValue
4. Нажимаю кнопку "отправить данные формы" и хочу, чтобы внутри отправка происходила только если данные изменялись.

Сейчас я просто беру форму и беру у неё .value, кидая на сервер.
Как лучше сделать? Я могу предположить такие вот варианты решения..
1. Создать доп. переменную
2. Подписаться на изменения формы
3. При изменениях формы заполнять данными формы дополнительную переменную
4. При отправке на сервер смотреть переменная undefined или нет и принимать решение по отправке.
Спасибо!

1 ответов

11 просмотров

Angular не дает возможности проверить, является ли текущее значение формы эквивалинтным значению загруженной модели. Поэтому вам необходимо сохранить изначальное значение модели, и при необходимости сравнить его с текущим. А далее можно отслеживать изменения каждого контрола и сопоставлять его с значением по умолчанию. Если значение вернулось на значение по умолчанию, то необходимо вызвать markAsPristine().

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

Обсуждают сегодня

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
Карта сайта