Die Funktion, die ich erreichen möchte, besteht darin, ein neues Fenster zu öffnen, um eine neue Seite anzuzeigen. Dabei müssen Parameter übergeben werden, die nicht in der Adressleiste angezeigt werden können. Darüber hinaus können die übergebenen Parameter beim Aktualisieren der Seite nicht verloren gehen und müssen immer vorhanden sein, es sei denn, ich schließe das neue Fenster, d. h. die Browserregisterkarte, manuell. Beim Programmieren für Baidu habe ich festgestellt, dass der Online-Inhalt diesen Effekt überhaupt nicht erzielen kann und dass es Fallstricke gibt. Es ist offensichtlich unmöglich, dies zu erreichen, aber sie sind so geschrieben, als ob es eine Tatsache wäre. Deshalb habe ich dem Titel absichtlich „Es gibt Bilder und Wahrheit“ hinzugefügt. Ich täusche Sie nicht. Wenn Sie die Funktion nicht erreichen können, versuchen Sie nicht, die Leute zum Narren zu halten. Ich werde zuerst den von mir erstellten Code aufschreiben und dann die Fallstricke vorstellen, die andere nicht implementieren können, sowie die Dinge, auf die in diesem Zusammenhang geachtet werden muss. Öffnen Sie ein neues Fenster und geben Sie den Code ein //Öffne ein neues Fenster und übergebe Parameter. Die Parameter können nicht in der Adressleiste angezeigt werden. Wenn das Fenster nicht geschlossen wird, wird es kontinuierlich aktualisiert. Die Parameter sind immer gültig. handleWindow() { //Hauptsächlich die Funktion zum Öffnen eines neuen Fensters realisieren var route = this.$router.resolve({ Name: "Xterm", }) // Hauptsächlich die Funktion zum Speichern von Parametern implementieren sessionStorage.setItem("ip", "1.1.1.1"); Fenster.öffnen(route.href, '_blank') } Meine Routing-Konfiguration ist ebenfalls veröffentlicht. { Pfad: '/xterm', versteckt: wahr, Komponente: () => import('@/views/monitor/xterm/index'), Name: "Xterm", }, Nun erhält die Seite Parameter //Vue-Initialisierungsmethode. Sobald die Seite initialisiert ist, wird der Parameter created() { abgerufen. Alarm (SessionStorage.getItem("ip")); diese.ip = sessionStorage.getItem("ip") }, Poste ein Wahrheitsbild Dies geschieht durch das Öffnen eines neuen Fensters über Vue und die Übergabe von Parametern über SessionStorage. Warum kann diese Funktion nur mit dieser Methode erreicht werden? Lassen Sie mich Ihnen von meiner Erfahrung beim Betreten der Grube erzählen. Es gibt böse Menschen unter den Leuten, die gefälschte Codes verwenden, um Leute im Internet zu betrügen. Welcher Programmierer kann einem solchen Test nicht standhalten? Zunächst einmal erfordert diese Funktion das Öffnen eines neuen Fensters, daher gibt es drei Möglichkeiten, dies zu tun: Die erste Methode: über das Tag Die zweite Methode: über Die dritte Methode: Über die Methode Übrigens unterstützen router.go und router.push nach vue2.0 nicht mehr das Attribut zum Öffnen eines neuen Fensters, um mit dem immer beliebter werdenden HTML5 konsistent zu bleiben. router.go wird als Vorwärts- und Rückwärtsnavigation verwendet; router.push wird als Wegweiser zu einer speziellen Seite verwendet. Dieser Sprung öffnet kein neues Fenster, verfügt jedoch über eine Verlaufsfunktion. Wenn Sie mehrere Registerkarten in einem Fenster haben, können Sie damit mehrere Registerkarten öffnen, wie in der Abbildung gezeigt. Okay, mit router.resolve können wir zum neuen Fenster springen. Jetzt beginnen wir mit der Übergabe von Parametern, und hier wird es knifflig. Bei der Online-Übertragung unterscheidet man grundsätzlich zwei Arten der Parameterübermittlung: //Teste den ersten Parameter testA (aaa) { const route = dies.$router.resolve({ Name: "Xterm", Parameter: { IP-Adresse: aaa } }) Fenster.öffnen(route.href,'_blank') } //Teste den zweiten Parameter testA (bbb) { const route = dies.$router.resolve({ Pfad: '/xterm', Abfrage: { IP: bbb } }) Fenster.öffnen(route.href,'_blank') } Die entsprechenden Empfangsparameter sind wie folgt; erstellt() { //Testen Sie den ersten Zugriffsparameter this.ip = this.$route.params.ip //Testen Sie den zweiten Zugriffsparameter this.ip = this.$route.query.ip }, Das Testergebnis ist, dass der erste Typ den Wert niemals abrufen kann, während der zweite Typ die Werte der übergebenen Parameter in der Adressleiste verfügbar macht. Auch wenn die erste Methode alle möglichen Spezialverarbeitungen durchläuft, ist das beste Ergebnis, den Wert nur beim ersten Mal zu erhalten. Wenn Sie die Seite erneut aktualisieren, geht der Wert verloren. Wie kann das möglich sein? Wer kann garantieren, dass Benutzer nicht das Gefühl haben, nicht weiterzukommen und auf die Schaltfläche „Aktualisieren“ klicken? Es gibt überhaupt kein Problem beim Übergeben von Parametern in Es blieb mir nichts anderes übrig, als es selbst zu tun. Ich suchte nach Cache und fand die Eigenschaften localStorage und sessionStorage. SessionStorage wird verwendet, um Daten vorübergehend zu speichern, die nach dem Schließen des Fensters oder Tabs gelöscht werden; localStorage wird verwendet, um die Daten der gesamten Website dauerhaft zu speichern. Die gespeicherten Daten haben keine Ablaufzeit, bis sie manuell gelöscht werden. SessionStorage reicht offensichtlich aus. Die Browserversionen, die diese beiden Attribute unterstützen, sind wie folgt: An diesem Punkt ist das Problem eigentlich gelöst. Tatsächlich ist es nicht kompliziert. Es ist nur so, dass die Antworten im Internet von unterschiedlicher Qualität sind. Ich werde sie aufzeichnen, damit andere sie verwenden können. Zusammenfassen Dies ist das Ende dieses Artikels über das Öffnen eines neuen Fensters und das Übergeben von Parametern in Vue. Weitere relevante Inhalte zum Öffnen eines neuen Fensters und Übergeben von Parametern in Vue finden Sie in den vorherigen Artikeln von 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird! Das könnte Sie auch interessieren:
|
<<: Grafisches Tutorial zur Installation und Konfiguration von MySQL 5.7.18 winx64
Vorwort Jedes Mal, wenn ich das Terminal verwende...
Inhaltsverzeichnis 1minio ist einfach 2 Docker er...
Inhaltsverzeichnis 1. Was ist der Ausführungskont...
Anfänger können HTML lernen, indem sie einige HTM...
Inhaltsverzeichnis Hintergrund So ermitteln Sie, ...
In diesem Artikel finden Sie das ausführliche Ins...
Inhaltsverzeichnis Vorwort Der Unterschied zwisch...
Vorwort Wenn es um Datenbanktransaktionen geht, f...
Phänomen: Führen Sie ein Image aus, zum Beispiel ...
Inhaltsverzeichnis 1. Wie wird die aktuelle Uhrze...
Das Thema Big Data wird immer wichtiger und wer m...
Deklarieren von Variablen Festlegen globaler Vari...
Dieser Artikel fasst die allgemeinen Befehle zur ...
Überprüfen Sie, ob MySQL bereits unter Linux inst...
Inhaltsverzeichnis 1. Prototyp-Modus Beispiel 1 B...