ng-bind has one-way data binding ($scope --> view). It has a shortcut {{ val }} which displays the scope value $scope.val inserted into html where val is a variable name. ng-model is intended to be put inside of form elements and has two-way data bin
You can use ngModel in your own directives, but there are a few things you'll need to do to get it working properly. ngModel itself is an directive. If you want to use it inside your own directive, you should use require keyword. /** * Created by Ans