7

Wir haben einen Klienten, der in unserer App auf ihrer Website ist iFraming. Sie möchten nicht, dass die Router-Navigation in unserer App die Navigation auf der Zurück-Schaltfläche für ihre eigene Website beeinflusst.Angular 2: Verhindern, dass Router aus der Addition der Geschichte

Wir haben ein paar Methoden versucht Nachrichten posten, einschließlich der Verwendung zu versuchen und haben kommunizieren die iFrame mit dem übergeordneten Fenster, wenn ein history.back() ausgelöst wird.

Meine Frage ist, ob es eine einfache Möglichkeit, nicht die Browser-Geschichte zu beeinflussen, wenn Angular 2 des Routers verwenden. Soweit ich weiß, konnte ich nichts in der erweiterten Router-Dokumentation von Angular 2 finden: https://angular.io/docs/ts/latest/guide/router.html

Antwort

10

Es stellt sich heraus, gibt es eine eingebaute Möglichkeit für Angular 2-Routing zu überspringen, einen Staat zum Verlauf hinzufügen. Wir fanden es tatsächlich durch zufällige Eigenschaften innerhalb der Intellisense des Editors zu überprüfen.

Unser Routing-Code hatte gerade aus gehen:

this.router.navigate([`/myPage/${this.Id}`], { relativeTo: this.route });

zu:

this.router.navigate([`/myPage/${this.Id}`], { relativeTo: this.route, skipLocationChange: true });

+1

Gut finden! Ein kleiner Hinweis in Angular Router Tutorial wäre toll – cboston

+1

Ich fühle sie sollten Sie eine Flagge auf der Strecke, wie 'Schatten anbringen lassen. True', um dieses Verhalten zu backen in – Ciel

+0

Dieser Kerl seine eigenen Fragen viel beantwortet ... Aber abgesehen davon scheint er ein guter Kerl zu sein. Nicht jemand, mit dem ich persönlich sprechen würde, aber trotzdem anständig. – mdlars

Verwandte Themen