title: Angular - ng-change not firing when ng-model is changed
body: <p>The input is the following:</p>
  
  <pre><code>&lt;input type="text" ng-model="repair.test"  ng-change="action()" /&gt;
  </code></pre>
  
  <p>The <code>action()</code> is executed when I manually type and change the input. However if I change the repair.test value by some other function programmatically, it doesnt fire the ng-change's action. I have read the angular tutorial and it's probably the expected behavior.</p>
  
  <p><a href="https://docs.angularjs.org/api/ng/directive/ngChange">https://docs.angularjs.org/api/ng/directive/ngChange</a></p>
  
  <p>"The expression is not evaluated when the value change is coming from the model." &lt;- I need this too.
  How can I fire an action in controller, when the model changes in any way? (typing in input or by any other function)</p>
  
  <p>Thanks for the help.</p>
  
  <p>Edit:</p>
  
  <p>The model value is actually the <code>form.$valid</code>, which has it's own Form controller around it (I think), that is why I used the action function to try to pass the value to the parent controller. So <code>$scope.$watch</code> at the moment doesn't work, only when it is initialised.</p>