title: What exactly triggers ng-change?
body: <p>My code has this HTML snippet:</p>
  
  <pre><code>&lt;div ng-repeat="wf in wos.word.wordForms"&gt;
       {{ wf.statusId }}
       &lt;textarea ng-change="wf.statusId = 2"
                 ng-model="wf.definition"&gt;
       &lt;/textarea&gt;
       ...
       ...
  </code></pre>
  
  <p>When I change something in the textarea the wf.statusId becomes 2 as expected</p>
  
  <p>Now I issue a save. It sends the current wf contents to the server. When I get back data from the server I copy it back into wf. </p>
  
  <p>The data is populated correctly but even though the server returns a statusId of 3 I still see the HTML showing 2.</p>
  
  <pre><code>(response: ng.IHttpPromiseCallbackArg&lt;IWordForm&gt;): any =&gt; {
     wf = angular.copy(response.data);
  },
  </code></pre>
  
  <blockquote>
    <p>response.data.statusId = 3</p>
  </blockquote>
  
  <p>When I look at the page I see the statusId is set to <strong>2</strong></p>
  
  <p>Is this expected behavior? If so is there any way that I can make it so that the ng-change does not set the value to 2 when I get data from the server? All I want is for it to change the value to 2 when I am doing a user input. </p>