Angular radio buttons are not checked correctly <p>I have two radio buttons, and they should be checked depending on some condition.</p> <pre><code>&lt;input data-ng-checked="user.contract1 || user.contract2" data-ng-model="user.agreed" type="radio" data-ng-value="true"&gt; Yes &lt;input data-ng-checked="!user.contract1 &amp;&amp; !user.contract2" data-ng-model="user.agreed" type="radio" data-ng-value="false"&gt; No </code></pre> <p>So here, we have a model <code>user.agreed</code> which holds true/false depending on whether that user has agreed:</p> <ul> <li><p>If the user has agreed to either contract, then <code>user.agreed = true</code></p></li> <li><p>If the user has not agreed to either contract, then <code>user.agreed = false</code></p></li> </ul> <p>I have noticed that when I load the page, the radio button is sometimes selected on 'No' instead of 'Yes'. I think this has to do with the digest cycle completing before my data has loaded from the server.</p> <p>But I thought doing this would be two-way binding, so if the <code>user</code> model changes, the view will change. When data gets loaded from the server, the model gets updated with the new info, and so the view should reflect this change. </p> <p>But that's not happening. How can I force <code>ng-checked</code> to reflect my model changes?</p> <p><strong>EDIT</strong> controller code:</p> <pre><code>app.controller('TestCtrl', ["QueryService", function(QueryService) { $scope.user = { contract1 = false; contactt2 = false; }; QueryService.getUser().success(function(user) { $scope.user = user; }); }); </code></pre>