Ich habe eine Übersichtsseite und eine detaillierte Unterseite. Alle Routen werden mit vue-router
(v 0.7.x) unter Verwendung der folgenden programmatischen Navigation implementiert :
this.$router.go({ path: "/link/to/page" })
Wenn ich jedoch von der Zusammenfassungsseite zur Unterseite weitergehe, muss ich die Unterseite in einer neuen Registerkarte öffnen, genau wie durch Hinzufügen _target="blank"
zu einem <a>
Tag.
Gibt es eine Möglichkeit, dies zu tun?
javascript
vue.js
vue-router
Tang Jiong
quelle
quelle
Antworten:
Ich denke, dass Sie so etwas tun können:
es hat bei mir funktioniert. Vielen Dank.
quelle
In neueren Versionen (Vue Router 3.0.1) scheint dies jetzt möglich zu sein:
quelle
this.$router.push()
.Für diejenigen, die sich fragen, ist die Antwort nein. Siehe verwandte Ausgabe auf Github.
quelle
target="_blank"
zu einem<router-link>
Tag in v3 stackoverflow.com/a/49654382/2678454 hinzuzufügenFalls Sie Ihre Route wie in der Frage angegeben definieren (Pfad: '/ link / to / page'):
Sie können die URL in Ihrer Zusammenfassungsseite auflösen und Ihre Unterseite wie folgt öffnen:
Wenn Sie Ihrer Route einen Namen gegeben haben, können Sie die URL natürlich nach Namen auflösen:
Verweise:
quelle
Irgendwo in Ihrem Projekt, normalerweise main.js oder router.js
In Ihrer Komponente:
quelle
Ich denke, der beste Weg ist, einfach zu verwenden:
🚀 * fliegt weg *
quelle
Schreiben Sie einfach diesen Code in Ihre Routing-Datei:
quelle
Das hat bei mir funktioniert-
Ich habe die Antwort von @Rafael_Andrs_Cspedes_Basterio geändert
quelle
Wenn Sie nur auf relative Pfade wie Interesse:
/dashboard
,/about
etc, Andere Antworten.Wenn Sie einen absoluten Pfad wie:
https://www.google.com
zu einer neuen Registerkarte öffnen möchten , müssen Sie wissen, dass Vue Router NICHT dazu gedacht ist, diese zu verarbeiten.Sie scheinen dies jedoch als Feature-Anfrage zu betrachten. # 1280 . Aber bis sie das tun,
router.js
) und fügen Sie diesen Code hinzu:Denken Sie daran, dass wir jedes Mal, wenn wir eine andere Seite für eine neue Registerkarte öffnen, diese verwenden müssen
noopener noreferrer
.Lesen Sie hier mehr
oder hier
quelle
Das funktioniert bei mir:
In der HTML-Vorlage:
<a target="_blank" :href="url" @click.stop>your_name</a>
In montiert ():
this.url = `${window.location.origin}/your_page_name`;
quelle