title: ngIf not detecting var change
body: <p>I am using the <em>greensock animation library</em> to animate some components (as you would expect). I am experiencing an issue when I am updating a variable in the <code>onComplete</code> function which is bound to a <code>*ngIf</code>. For some reason, angular is not detecting the update to the variable in the callback.
  <hr>
  <strong>Intended functionality:</strong></p>
  
  <pre><code>1. click grey image.
  2. pink image fades out
  3. one of the grey images dissapears.
  </code></pre>
  
  <p><strong>Current functionality:</strong></p>
  
  <pre><code>1. click grey image.
  2. pink image fades out
  3. (nothing happens)
  4. click grey image - again.
  5. one of the grey images dissapears.
  </code></pre>
  
  <hr>
  
  <p>I have a <a href="https://plnkr.co/edit/ZubdejwQ3RmLKBxE1ebX?p=preview" rel="noreferrer">plunkr</a> for the following...</p>
  
  <pre><code>declare var TweenMax; // defined in index.html
  @Component({
    selector: 'my-app',
    template: `
      &lt;img *ngIf="leftVisible" src="http://placehold.it/350x150" (click)="animate(-1)"/&gt;
      &lt;img *ngIf="rightVisible" src="http://placehold.it/350x150" (click)="animate(1)"/&gt;
      &lt;img #otherImage src="http://placehold.it/350x150/ff00ff/000000"/&gt;
    `,
  })
  export class App {
    @ViewChild('otherImage') otherImageElement;
  
    private leftVisible: boolean;
    private rightVisible: boolean;
  
    constructor() {
      this.leftVisible = this.rightVisible = true;
    }
  
    private animate(_direction: number){
      var tween = TweenMax.to(this.otherImageElement.nativeElement, 1, {
        opacity: 0,
        onComplete: () =&gt; {
          console.log("anim complete");
          this.rightVisible = false;
        }
      }
    };
  }
  </code></pre>
  
  <p>You can see in the console that the callback fires successfully and updates the variable, however the element which is bound to the <code>*ngIf</code> does not change <strong>until you click one of the grey images a second time</strong>. </p>
  
  <p>How do I get this to update as intended in the <code>onComplete</code> callback?</p>