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