title: Why ngModel's $render is not called when the model changes in AngularJS?
body: <p><a href="http://jsbin.com/ecEqEhE/1/edit"><strong>DEMO</strong></a></p>
  
  <p>Why in the following example <code>$render</code> is not called when the button is clicked?</p>
  
  <pre class="lang-html prettyprint-override"><code>&lt;input type="text" ng-model="client.phoneNumber" phone-number&gt;
  &lt;button ng-click="client.phoneNumber='1111111111'"&gt;Change phone number&lt;/button&gt;
  </code></pre>
  
  <pre class="lang-javascript prettyprint-override"><code>.directive("phoneNumber", function() {
    return {
      restrict: 'A',
      require: 'ngModel',
      link: function(scope, element, attrs, ngModel) {
        ngModel.$render = function() {
          alert('rendering');   // This is not called
        };
      } 
    };
  }); 
  </code></pre>