Задать вопрос
AlexXYZ
@AlexXYZ
O Keep Clear O

Angular 1.6.4 $watchGroup возвращает пустые строки для старых значений. Не пойму в чём дело?

Собственно все старые значения возвращаются пустыми и не могу никак узнать, что было раньше (вставка в поля формы input выполняется из буфера обмена):

d57625cbe7ce464285738e4771d7c6b5.png

Однако, через некоторое время после нескольких изменений полей в ручном режиме (по нажатию клавиш на клавиатуре) всё нормализуется и старые значения уже указываются нормально.

Если всё ввожу вручную сразу, без использования буфера обмена, то вроде всё норм.

$watchCollection выдаёт правильные результаты. Тут все старые значения указываются правильно.

??? Совсем нет идей, что не так.
  • Вопрос задан
  • 221 просмотр
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 2
@SuperOleg39ru
Front-end разработчик
Рекомендую вам отказаться от $watchGroup и $watch, вместо этого на инпуты добавьте ng-change, и уже в функциях-обработчиках делайте все что вам угодно.

Причины:
1) Полностью контролируете процесс
2) Нет потери производительности из за watch'еров
Ответ написан
Зачем в принципе watchCollection? У вас же там ng-model? Используйте ng-change. Ну и всякие удобные плюшки для работы с формами, благо у ангуляра с этим всё хорошо.
Ну и проблема не в watchCollection, я вот тут накидал минимальный вариант - всё работает:
plnkr.co/edit/YOaCVdKyav5Q9OuXxY8B?p=preview
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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