title: AngularJS 1.5.x $onChanges Not Working with One-Way Binding Changes
body: <p>I don't understand why $onChanges isn't kicked off when I change a bound primitive in an input.  Can someone see what I've done wrong, and explain this in an uncomplicated way?  I made a <a href="https://plnkr.co/edit/PBcIxGdPTCEF5nq9GDgj?p=preview" rel="noreferrer">plunkr</a> of a quick test application after I couldn't get it to work in my actual application either.</p>
  
  <pre><code>angular
  .module('test', [])
  .component('test', {
  
      template: '&lt;child application="vm.application"&gt;&lt;/child&gt;',
      controller: 'testCtrl as vm'
  })
  .controller('testCtrl', function() {
  
      var vm = this;  
  
      vm.$onInit = function () {
  
          vm.application = {
              data: {
                  name: 'Test'
              }
          }
      };
  })
  .component('child', {
  
      template: '&lt;input type="text" ng-model="vm.application.data.name"&gt;',
      bindings: {
          application: '&lt;'
      },
      controller: 'childCtrl as vm'
  })
  .controller('childCtrl', function() {
  
      var vm = this;
  
      vm.$onChanges = function (changes) {
          console.log('CHANGED: ', changes);
      };
  })
  </code></pre>