Ich benutze @angular/router
zu sehen, die URL ändern, um eine if
Anweisung auszuführen, obwohl event.subscribe
funktioniert gut. Aber meine Frage ist, wie kann ich vermeiden, meine if
Aussage zu wiederholen, nur um den Titel auf diesen URLs zu zeigen. Es ist wahrscheinlich etwas anderes als router.subscribe
, aber nicht sicher, was dafür zu verwenden ist.angular2 mit router.subscribe zu sehen URL Änderung
wollte grundsätzlich einen dynamischen Titel basierend auf der URL, auf der Sie sich befinden.
this._router.events.subscribe((event) => {
console.log('route changed');
if(this.location.path() == '/1'){
this.title = 'Title 1';
} else if(this.location.path() == '/2'){
this.title = 'Title 2';
}
});
Ich weiß nicht, ob das Sinn macht überhaupt. Ich könnte meine route.ts Pfade ändern, um etwas wie { path: 'Title-1' }
zu haben und entferne einfach die -
, indem ich .replace()
tue, aber dieses tuend gibt mir www.mysite.com/Title-1, aber es sieht nicht sehr freundlich aus.
Ich hatte diesen Ansatz auch in meinem Kopf, aber dadurch werde ich etwas wie Titel-1 oder Dashboard-3 haben. Unterstring oder Regex wird dies schmerzen, da URLs unterschiedliche Zeichenanzahl haben. Ich hatte gehofft, "Titel 1" als Endergebnis zu haben, deshalb habe ich die if-Anweisung gemacht. – nCore
Sorry kann Sie nicht klar bekommen. Es wird dir nicht 'Titel-1' geben, aber es gibt' Titel1'. subscribe-to-watch-URL-Änderung. Bitte sehen Sie meine Bearbeitung am Ende der Antwort – Sami
Danke, nein, es wird nicht Titel 1 geben, aber es wird mir jetzt Titel 1 geben. Gibt es nicht eine Möglichkeit, wie (Dashboard Preview Test) als (Dashboard-Vorschau-Test) zu haben. Gut, wenn ich nicht den Pfad: "Dashboard-Preview-Test" in meiner route.ts mache, aber das gibt mir www.mysite.com/Dashboard-Preview-Test in der URL. – nCore