title: Why onChanges is not triggered after update
body: <p>I have the following parent component:</p>
  
  <pre><code>@Component({
      selector: 'hello-world',
      template: `
      &lt;div&gt;
          &lt;private [text]="value"&gt;&lt;/private&gt;
      &lt;/div&gt;`
  })
  
  export class HelloWorldComponent {
      public value: number = 3;
  
      constructor() {
          setTimeout(function () {
              this.value = 5;
          }, 3000);
      }
  }
  </code></pre>
  
  <p>And child component:</p>
  
  <pre><code>@Component({
      selector: 'private',
      template: `&lt;span&gt;{{text}}&lt;/span&gt;`
  })
  
  export class PrivateComponent implements OnChanges {
      @Input() public text: string;
  
      ngOnChanges(changes: SimpleChanges): void {
          console.log(changes.text.currentValue);
      }
  }
  </code></pre>
  
  <p>The <code>ngOnChanges</code> is triggered only once with the expected value of <code>3</code>, but it's not triggered second time with the value of <code>5</code>. Why?</p>