title: router.navigate() doesn't redirect inside .subscribe
body: <p>I have a login function like so:</p>
  
  <pre class="lang-js prettyprint-override"><code>login() {
  
    // clear error text
    this.state.errorText = "";
  
    // try to login
    this.sb.login(this.model.username, this.model.password).subscribe(x =&gt; {
      // check if ok
      if (x.success) {
        console.log('does this print') //&lt;-- outputs as expected
        this.router.navigate(['/app']); 
      } else {
        this.state.errorText = x.response;
      }        
    });
  }
  </code></pre>
  
  <p>Through debugger I can see the x.success comes back as true. My console.log prints but after, the this.router.navigate(...) line doesn't seem to do anything. there is no redirect. </p>
  
  <p>I've tried to use:</p>
  
  <pre><code>this.zone.run(() =&gt; this.router.navigate(['/app']));
  </code></pre>
  
  <p>but that results in the same, no page redirect.</p>