Ng-Model
is used as bridge between model and view and it also provide validation behavior. All the other directive are dependent on <code>ng-model</code> as this will remember the state of controls. It also provide setting related css classes on the element (ng-valid, ng-invalid, ng-dirty, ng-pristine, ng-touched, ng-untouched, ng-empty, ng-not-empty) including animations. See the code: