title: Angular2 / Ionic2 / TypeScript "two way" binding not updated if i use as reference in async function
body: <p>I created a simple class in TypeScript:</p>
  
  <pre><code>export class LoginInformation {
  
      private _UserName: string;
  
      public get userName(): string {
          return this._UserName
      }
  
      public set userName(v: string) {
          this._UserName = v;
      }
  }
  </code></pre>
  
  <p>Then i can instantiate the class:</p>
  
  <pre><code>private _LoginInformation: LoginInformation;
  this._LoginInformation = new LoginInformation();
  </code></pre>
  
  <p>(and also implement the getter and setter), then assign a value</p>
  
  <pre><code>this.loginInformation.userName = "User1";
  </code></pre>
  
  <p>Now I can use the Object in my HTML:</p>
  
  <pre><code>&lt;ion-item&gt;
      &lt;ion-input type="text" placeholder="Name" [(ngModel)]="loginInformation.userName"&gt;&lt;/ion-input&gt;
  &lt;/ion-item&gt;
  </code></pre>
  
  <p>Now i can change my Object-Property</p>
  
  <pre><code>this.loginInformation.userName = "User2";
  </code></pre>
  
  <p>and the screen is updated in the expected way. Even if i set:</p>
  
  <pre><code>var self: LoginInformation = this.loginInformation;
  self.userName = "User3";
  </code></pre>
  
  <p>everything is OK. But if I use an async function (e.g. get a value from the app preferences - plugin)</p>
  
  <pre><code>this._AppPreferences.fetch(
      (value) =&gt; {
          self.userName = "User4";
      },
      (error) =&gt; {
          alert("Error loading Configuration: " + error);
      },
      "LoginInformation");
  </code></pre>
  
  <p>the on-screen value is not updated. I thought that the assignment of the reference</p>
  
  <pre><code>self: LoginInformation = this.loginInformation
  </code></pre>
  
  <p>Should work in the expected way. But it seems that something is missing.</p>
  
  <p>Any ideas what I'm doing wrong?</p>