angular/angular.js — pull request #9808 by alexanderchan (2014-10-28 08:59:47+00:00)
Title: fix(ngModel): use `$evalAsync` for blur events to safely `$apply`

Set the `$touched` asynchronously using `$evalAsync` if the element is blurred during an `$apply`, otherwise it keeps the old behaviour.

Fixes https://github.com/angular/angular.js/issues/8762