title: Angular Directive not updating
body: <p>I am having an issue refreshing/updating an angular directive. Basically there is a Flag button which will make an async call to server and if it's successful, change the property userFlags which should disable the button and change it's text to "Flagged...".</p>
  
  <p>Here is the directive:</p>
  
  <pre><code>app.directive('flagable', function() {
  return {
      restrict: 'E',
      scope: { item: '=' },
      templateUrl: '/Content/templates/flagable.tmpl',
      controller: function($scope) {
          $scope.flag = function () {
  
              $scope.$apply(function () {
                  // ITS NOT GOING IN HERE!
                  //AJAX CALL HERE
                  model.$modelValue.userFlags = [];
                  Messenger().post("Your request has succeded! ");
              });
          };
      }
  };
  });
  </code></pre>
  
  <p>Here is the template:</p>
  
  <pre><code>&lt;div class="btn-group pull-right"&gt;
  &lt;button class="btn btn-small btn-danger" ng-disabled="{{item.userFlags != null}}"&gt;&lt;i class="icon-flag"&gt;&lt;/i&gt;
    &lt;any ng-switch="item.userFlags==null"&gt;
      &lt;any ng-switch-when="true"&gt;Flag&lt;/any&gt;
      &lt;any ng-switch-when="false"&gt;Flagged...&lt;/any&gt;
    &lt;/any&gt;
  &lt;/button&gt;
  &lt;button class="btn btn-small btn-danger dropdown-toggle" data-toggle="dropdown" ng-disabled="{{item.userFlags != null}}"&gt;&lt;span class="caret"&gt;&lt;/span&gt;&lt;/button&gt;
  &lt;ul class="dropdown-menu"&gt;
      &lt;li&gt;&lt;a href="#" ng-click="flag()"&gt;Inappropriate&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href="#" ng-click="flag()"&gt;Overpost&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href="#" ng-click="flag()"&gt;Spam&lt;/a&gt;&lt;/li&gt;
  &lt;/ul&gt;
    &lt;/div&gt;
  </code></pre>
  
  <p><strong>Interestingly enough, changing the controller logic to:</strong></p>
  
  <pre><code> $scope.flag = function () {
   $scope.item.userFlags = [];
   Messenger().post("Your request has succeded! " + $scope.item.viewCount);
   }; 
  </code></pre>
  
  <p>Causes for the button to refresh properly to "Flagged..." however, the ng-disabled its not making the button disabled! In firebug its showing that the ng-disabled property is set:
  ng-disabled="true"</p>