angularjs does that for you. It keeps track of the original state of the model and compares against it; that is how it generate $watch events and model updates. ngForm validation that allows you to figure out which field has changed, each field in your model will have $dirty property.
Just add this css to your application to display the view.
.ng-pristine { border:1px solid Gold; }
.ng-dirty.ng-valid { border:1px solid Green; }
.ng-dirty.ng-invalid { border:1px solid Red; }
.ng-dirty.ng-valid ~ span.ok { color:green; display:inline; }
.ng-dirty.ng-invalid ~ span.ko { color:red; display:inline; }