Как стать автором
Обновить

Комментарии 11

А почему «официальный» именно этот способ?
Его написал человек из команды angular. Думаю, как минимум считаться официальным будет именно этот способ.
Я декоратор написал для ngModel, который просто при биндинге сразу же получает value и при пустом modelValue, эмитит событие change. Конечно в некоторых случаях могут быть какие-то проблемы, особенно когда value предзабивается какой-нибудь фигней, но я пока не сталкивался. А вот вариант с глобальным фиксом через какие-то таймауты для меня как-то уж сильно странные. Да и мой способ можно вообще в директиву вынести, и будет работать только для тех полей для которых это нужно.
Нужно еще по блуру делать проверку если есть поля, которые зависят друг от друга, также нужно учесть ситуацию, когда на момент биндинга браузер не заполнил поля сохраненными данными. Но это уже от конкретных условий зависит. Полифил пытается объять все случаи с автозаполнением.
Поллинг полей для более надежного определения изменения их значения стар как мир. Так что ничего нового тут ребята не изобрели.
Еще бы найти polyfill на обратное действие — запоминание браузером связки Login+Password, а то такие пляски с бубном устраивать приходится, что страшно людям код показывать… Вплоть до отправки невидимой формы в невидимый IFrame, чтобы chrome узрел реальный submit.
А разве не достаточно просто эмитить событие submit у формы? Тот же хром сам запоминает логин/пароль при таком раскладе. С другими браузерами пока не пробовал.
Хрому недостаточно простого submit, ему нужен реальный http запрос от формы, иначе он ничего не покажет.
Очень даже запоминает, может не всегда и при каких-то специфических условиях, но на логин формах автозаполнение логин/пароль работает.
«может не всегда» — эта фраза означает, что он НЕ запоминает, по крайней мере надежность сильно под вопросом, а это не вариант.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации