$pristine/ $dirtyсообщает вам, действительно ли пользователь что-то изменил , в то время как $touched/ $untouchedсообщает вам, был ли пользователь там просто / посещен .
Это действительно полезно для проверки. Причина $dirtyвсегда заключалась в том, чтобы не показывать ответы проверки, пока пользователь фактически не посетил определенный элемент управления. Но, используя только $dirtyсвойство, пользователь не получит обратную связь проверки, если он фактически не изменил значение. Таким образом, $invalidполе все равно не будет показывать пользователю приглашение, если пользователь не изменил / не взаимодействовал со значением. Если пользователь полностью игнорировал обязательное поле, все выглядело нормально.
С Angular 1.3 и ng-touchedтеперь вы можете установить определенный стиль для элемента управления, как только пользователь размыл изображение, независимо от того, отредактировали ли они значение или нет.
Вот CodePen, который показывает разницу в поведении.