title: Change in color not getting applied unless I move/scale/modify the object
body: <p>I am trying to change the color/font of a text using fabric js. The color of the text selected is only getting changed after I play with the object (change dimension of target object). What should I do to make the change reflect immediately ?</p>
  
  <p>Here is my HTML:</p>
  
  <pre><code>&lt;md-button colorpicker="rgb"
             class="md-icon-button"
             type="button"
             colorpicker-position="bottom"
             colorpicker-close-on-select
             ng-model="myCtrl.color"
             colorpicker-closed="myCtrl.changeColor()"
             ng-change="myCtrl.changeColor()"&gt; Change Color
  &lt;/md-button&gt;
  </code></pre>
  
  <p>This pops up a color picker on which anyone can pick a color. This color change is reflected through ng-model and on change I am calling ng-change which invokes my simple function in my controller:</p>
  
  <pre><code>model.changeColor = function () {
          model.canvas._activeObject.fill = model.color;
          model.canvas.renderAll();
      };
  </code></pre>
  
  <p>However the color is not changing without making any change to the target object dimension. This is the rest of the controller:</p>
  
  <pre><code>var createCanvas = function (width, height) {
  
  model.canvas = new fabric.Canvas(document.getElementById("portfolioCanvas"));
          model.canvas.setWidth(width);
          model.canvas.setHeight(height);
          model.canvas.calcOffset();
  
  
  
          var text = new fabric.Text('NAME',
              {left: 200, top: 40, rx: 40, ry: 20, angle: 0, fontSize: 10, 
               fontWeight: 'bold'});
  
  
          model.canvas.add(text);
          model.canvas.on({
              'object:moving': onChangeFn,
              'object:scaling': onChangeFn,
              'object:rotating': onChangeFn,
              'object:drag': onChangeFn,
              'touch:drag': onChangeFn,
              'object:modified': onChangeFn
          });
      };
  
  
      var onChangeFn = function (options) {
          options.target.setCoords();
          model.canvas.forEachObject(function (obj) {
              if (obj === options.target) return;
              obj.setOpacity(options.target.intersectsWithObject(obj) ? 0.5 :1);
          });
      };
  </code></pre>
  
  <p>I also tried to apply the changes like this but it didnt work as well.</p>
  
  <pre><code>    $scope.$$postDigest(function () {
              model.canvas._activeObject.fill = model.color;
              $scope.$digest();
          });
  </code></pre>