title: scope.$watch not working in angular directive
body: <p>I have made a custom directive and used ng-model, but when the model updates, the directive not even though i'm watching the event. Here's the code:</p>
  
  <pre><code>angular.module('Directives').directive("customDirective", ['$window', function ($window) {
  
  return {
      restrict: "E",
      require: 'ngModel',
      scope: {
          ngModel: '=',
      },
      link: function (scope, elem, attrs, ngModel) {
  
          // IF the model changes, re-render
          scope.$watch('ngModel', function (newVal, oldVal) {
              render();
          });
  
          // We want to re-render in case of resize
          angular.element($window).bind('resize', function () {
              //this does work
              render();
          })
  
          var render = function () {
              //doing some work here
          };
      }
  }}]);
  </code></pre>
  
  <p>and the view:</p>
  
  <pre><code>&lt;div ng-repeat="product in pageCtrl.productList track by product.id"&gt;
  &lt;h3&gt;{{ product.name }}&lt;/h3&gt;
  &lt;custom-directive ng-model="product.recentPriceHistory"&gt;
      &amp;nbsp;
  &lt;/custom-directive&gt;
  </code></pre>
  
  <p></p>
  
  <p>Whenever new values are added to a products recentPriceHistory, the view doesnt get updated.</p>