Trouble with *ngIf in Angular 2 (TypeScript) : <p>I am using Angular 2 beta (TypeScript). I met a weird problem. I tried Chrome, Firefox, Opera, all same results.</p>

<p>When I click the "Toggle" button, it can successfully show/hide the text "Hello World!".</p>

<p>When I send the command from another browser using socket, the boolean "show" changes successfully background, however, the text does not show/hide, which looks like the page does not refresh.</p>

<pre><code>import {Component, View} from 'angular2/core';
import {bootstrap} from 'angular2/bootstrap';
import {NgIf} from 'angular2/common';

@Component({
    selector: 'app'
})
@View({
    directives: [NgIf],
    template: `
      &lt;button (click)="clicked()"&gt;Toggle&lt;/button&gt;
      &lt;div&gt;
        &lt;div *ngIf="show"&gt;
          &lt;h2&gt;Hello World!&lt;/h2&gt;
        &lt;/div&gt;
      &lt;/div&gt;
    `
})
class App {
    show: boolean = true;

    constructor() {
        Socket.on {
            If (getMessage) {
                this.show = !this.show;
            }
        }
    }

    clicked() {
        this.show = !this.show;
    }
}

bootstrap(App);
</code></pre>
