title: why is child not detecting change from parent input in angular
body: <p>I have a child component</p>
  
  <p>parent.component.html</p>
  
  <pre><code> &lt;child-component (changeVal) = "parentObj"&gt;&lt;/child-component&gt;
  </code></pre>
  
  <p>parent.component.ts</p>
  
  <pre><code>parentObj = {
    someDate = new Date()
  }
  // function changing the parentObj
  callOnClick() {
     this.parentObj.someDate = new Date('20 June 2018'); 
  }
  </code></pre>
  
  <p>child component.ts</p>
  
  <pre><code>@Input('changeVal')
  ngOnChanges() {
   // console i never see
   console.log('parentObj Changed and got me here');
  }
  </code></pre>
  
  <p>Why is the onChanges hook not running in this case? I am changing the input value inside the callOnClick method, isn't it supposed to fire when the value of changeVal is changed ? </p>