Ng-change ведет себя странно в директиве. Кажется, есть задержка в цикле дайджеста, что приводит к неправильному (предыдущему) значению ngModel в контроллере сразу после изменения.
ngModel : '='
https://codepen.io/anon/pen/moEgdG
Что происходит и как исправить?
=
) создает наблюдатель, который передает данные из родительской области в изолированную область директивы. Для этой передачи требуется цикл дайджеста. Так работает фреймворк AngularJS. - person georgeawg   schedule 04.03.2019