it-swarm.com.de

So laden Sie eine Seite in angle2

So laden Sie eine Seite in angle2.
Beim Durchsuchen des Netzes habe ich einen Code "this._router.renavigate()" erhalten, um die Seite neu zu laden, aber es sieht so aus, als würde sie nicht mit der neuesten Version von angle2 funktionieren.
Ein anderer Weg ist 'window.location.reload()', aber dies ist nicht die eckige Art, dies zu tun.

9
Krishna

Wenn Sie die Seite wirklich neu laden möchten, müssen Sie location.reload () außerhalb der Winkelzone ausführen

this.zone.runOutsideAngular(() => {
    location.reload();
});

getestet mit RC6

Vollständiges Beispiel

import { Component, NgZone } from "@angular/core";

@Component({        
    templateUrl: "template.html"    
})
export class ReloadComponent{
    constructor(
        private zone: NgZone) {
    }

    reloadPage() { // click handler or similar
        this.zone.runOutsideAngular(() => {
            location.reload();
        });
    }
}
13
Mani

Für partiell gibt es eine Möglichkeit, eine eigene Funktion zu schreiben 

   public renavigate(): void {
   let params: Object = {};
   Object.assign(params, this.routeParams.params);
   params['ref'] = (params['ref'] === ref) ? ref + new Date().getTime() : ref;
   this.router.navigate(['Foo', params]);
   }
2
mayur

Das funktioniert für mich:

method().subscribe(
   location.reload();
);
1
Gourav Bhatia

Ich hatte das gleiche Problem und das hat bei mir funktioniert:

import { Location } from '@angular/common';

constructor(private location: Location) {}

ngOnInit() { this.load(); }

load() {
  this.location.reload();
}

1
israel

Was ist mit Google Sichtbarkeit mit 

   *ngIf="auth.loggedIn()"

das macht eine viel bessere UX

0
Reinhard