title: $scope.$watch doesn't fire when I update from a directive
body: <p>I have the following code snippets:</p>
  
  <p><strong>HTML:</strong></p>
  
  <pre><code>    &lt;div data-filedrop data-ng-model="file"&gt;&lt;/div&gt;
  </code></pre>
  
  <p><strong>Controller:</strong></p>
  
  <pre><code>    $scope.$watch('file', function(newVal) {
          if (newVal) {
              alert("File",newVal);
          }, false);
      }
  </code></pre>
  
  <p><strong>Directive:</strong></p>
  
  <pre><code>angular.module('app').directive('filedrop', function () {
      return {
          restrict: 'A',
          templateUrl: './directives/filedrop.html',
          replace: true,
          scope: {
              ngModel: '=ngModel'
          },
          link: function (scope, element) {
              var dropzone = element[0];
              dropzone.ondragover = function () {
                  this.className = 'hover';
                  return false;
              };
              dropzone.ondragend = function () {
                  this.className = '';
                  return false;
              };
              dropzone.ondrop = function (event) {
                  event.preventDefault();
                  this.className = '';
                  scope.$apply(function () {
                      scope.ngModel = event.dataTransfer.files[0];
                  });
                  return false;
              };
          }
      };
  });
  </code></pre>
  
  <p>The $watch function is never triggered when I update the $scope.</p>
  
  <p>Any Ideas?? Might be an isolated scope issue? It used to work until yesterday... when I had to redo </p>
  
  <blockquote>
    <p>bower install &amp;&amp; npm install </p>
  </blockquote>
  
  <p>I can confirm:</p>
  
  <ul>
  <li>dropzone.ondrop is fired</li>
  <li>event.dataTransfer.files[0] does contain the file being dropped</li>
  <li>because of the bower install I also tried angular <strong>2.1.14</strong>, <strong>2.1.15</strong> and <strong>2.1.16</strong> (current) but none are working</li>
  </ul>
  
  <p>Thanks!</p>
  
  <p>Sander</p>