AngularJS - разница между нетронутой/грязной и нетронутой/нетронутой
AngularJS Developer Guide - Формы сообщают, что существует множество стилей и директив, касающихся форм и полей. Для каждого класса CSS:
ng-valid
ng-invalid
ng-pristine
ng-dirty
ng-touched
ng-untouched
Какая разница между pristine/dirty
, и touched/untouched
?
Ответы
Ответ 1
AngularJS Developer Guide - CSS-классы, используемые AngularJS
- @property {boolean} $ нетронутый Истина, если элемент управления еще не потерял фокус.
- @property {boolean} $ коснулся True, если элемент управления потерял фокус.
- @property {boolean} $ pristine Истинно, если пользователь еще не взаимодействовал с элементом управления.
- @property {boolean} $ dirty Истинно, если пользователь уже взаимодействовал с элементом управления.
Ответ 2
$pristine
/$dirty
указывает, действительно ли пользователь что-то изменил, а $touched
/$untouched
сообщает вам, был ли пользователь просто там/посещен.
Это действительно полезно для проверки. Причиной $dirty
всегда было избегать показов ответов проверки, пока пользователь не посетил определенный элемент управления. Но, используя только свойство $dirty
, пользователь не будет получать обратную связь с проверкой, если они фактически не изменили значение. Таким образом, поле $invalid
все равно не будет показывать пользователю приглашение, если пользователь не изменил/не изменил значение. Если пользователь полностью проигнорировал требуемое поле, все выглядело нормально.
С помощью Angular 1.3 и ng-touched
вы можете теперь установить определенный стиль в элементе управления, как только пользователь размыт, независимо от того, изменили ли оно значение или нет.
Здесь CodePen, который показывает разницу в поведении.
Ответ 3
В Pro Angular-6 книга подробно описана ниже;
- valid: это свойство возвращает true, если содержимое элементов допустимо, и false в противном случае.
-
invalid: это свойство возвращает true, если содержимое элементов недопустимо, и false в противном случае.
-
pristine: это свойство возвращает true, если содержимое элементов не было изменено.
- dirty: Это свойство возвращает true, если содержимое элементов было изменено.
- нетронутый: это свойство возвращает true, если пользователь не посетил элемент.
- touch: это свойство возвращает true, если пользователь посетил элемент.
Ответ 4
Стоит отметить, что свойства проверки различны для форм и элементов формы (обратите внимание, что касание и нетронутость только для полей):
Input fields have the following states:
$untouched The field has not been touched yet
$touched The field has been touched
$pristine The field has not been modified yet
$dirty The field has been modified
$invalid The field content is not valid
$valid The field content is valid
They are all properties of the input field, and are either true or false.
Forms have the following states:
$pristine No fields have been modified yet
$dirty One or more have been modified
$invalid The form content is not valid
$valid The form content is valid
$submitted The form is submitted
They are all properties of the form, and are either true or false.