ng-change triggered before value is updated
<p>I have a form which needs to save data each time something is changed. I've used <code>ng-change</code> on all form elements to trigger a form validation and a save. However in case of radio buttons, <code>ng-change</code> is triggered before the actual value is updated, thus resulting in an invalid form on the first try, and an outdated form all subsequent times.</p>

<p>I've set up a <a href="http://jsfiddle.net/3rkdzgcn/2/" rel="nofollow">JSFiddle</a> to illustrate this. The console prints out whether the form is valid or not. The same applies if I were to print the value of <code>$scope.form.test.$modelValue</code>.</p>

<pre><code>// HTML
&lt;div ng-controller="MyCtrl"&gt;
  &lt;form name="form"&gt;
    &lt;input type="radio" name="test" ng-model="test" value="yes" required ng-change="checkRadios()" /&gt; Yes&lt;br/&gt;
    &lt;input type="radio" name="test" ng-model="test" value="no" required ng-change="checkRadios()"/&gt; No
  &lt;/form&gt;
&lt;/div&gt;

// JS
var myApp = angular.module('myApp',[]);

function MyCtrl($scope) {
        $scope.test = null;
    $scope.checkRadios = function(){
        console.log($scope.form.test.$modelValue);
    }
}
</code></pre>

<p>Is my logic faulty, is this a valid bug, or does it work as expected? In the last case, what can I do to always get the actual value?</p>