So definieren Sie Datenbeispiele in Vue

So definieren Sie Datenbeispiele in Vue

Vorwort

Im Entwicklungsprozess ist das Definieren von Variablen eine sehr häufige und grundlegende Aufgabe. Wie man Variablen entsprechend den Verwendungsszenarien und dem Umfang der Variablen sinnvoll definiert, ist eine sehr kleine Sache, bei der man leicht Fehler macht.

Vue2 ist seit vielen Jahren beliebt. Die meisten Entwickler definieren während des Entwicklungsprozesses gerne viele Variablen in der Datenoption. Dies wirkt sich sehr nachteilig auf die Lesbarkeit, Wartbarkeit und Leistung des Codes aus. Wenn Sie Variablen gut nutzen möchten, müssen Sie die Eigenschaften von Vue und JS kombinieren.

In Vue können Variablen in zwei Typen unterteilt werden, je nachdem, ob eine bidirektionale Datenbindung erforderlich ist:

Eine Möglichkeit besteht darin, die Daten von Vue zu kapern und in Echtzeit auf Datenänderungen in der Ansicht zu reagieren.

Solange die Daten nur die Nachricht ändern können, reagiert die in der Vorlage gebundene Nachricht in Echtzeit

<Vorlage>
  <div>{{msg}}</div>
</Vorlage>

<Skript>
Standard exportieren {
  Daten() {
    Nachricht: "" 
  }
};
</Skript>

Es gibt eine andere Methode, die nicht von Vue-Daten gekapert werden muss:

Funktioniert nur in Skripten, wird nicht in Vorlagen verwendet, kein Datendiebstahl erforderlich

Name ist nur in der Funktion concatName gültig, definieren Sie ihn also einfach als lokale Variable

age wird sowohl in der getAge- als auch in der concatName-Funktion benötigt. Es ist nicht angemessen, es als lokale Variable zu verwenden. Dann kann sein Umfang vergrößert werden, um seine Verwendung an mehreren Stellen zu erleichtern.

<Skript>
const Alter = "Balken"
Standard exportieren {
  Methoden: {
    getAge() {
      Rückkehralter
    },
    concatName() {
      lass name = "nordon"
      gibt `Name: ${Name}, Alter: ${Alter}` zurück
    }
  },
};
</Skript>

Es wird nur als Rendering-Daten in der Vorlage verwendet. Nach der Anpassung wird es in nachfolgenden Vorgängen nicht mehr geändert. Wenn Vue verwendet wird, um diese Daten zu kapern, geht etwas Leistung verloren.

<Vorlage>
  <div v-for="Artikel in arr">{{Artikel.name}}</div>
</Vorlage>

<Skript>
const arr = Objekt.freeze([{
  Name: 'Nordon',
  Alter: 18
}])
Standard exportieren {
  Daten() {
    zurückkehren {
      arr
    }
  }
};
</Skript>

Verwenden Sie Object.freeze, um die Daten einzufrieren, die nicht entführt werden müssen. Wenn die Daten in Vue rekursiv durchsucht werden, um Daten zu entführen, werden die Daten nicht entführt. Insbesondere bei einer großen Anzahl tabellenartiger Daten ist die Leistungsverbesserung erheblich.

Sie können dem Vue-Quellcode entnehmen, warum nach der Verwendung von Object.freeze zur Verarbeitung der Daten kein Datendiebstahl stattfindet.

Funktion defineReactive (Objekt, Schlüssel) {
  // Irrelevanten Code löschen und nur die Beurteilungsbedingung behalten const property = Object.getOwnPropertyDescriptor(obj, key)
  if (Eigenschaft && Eigenschaft.konfigurierbar === false) {
    zurückkehren
  }
}

Zusammenfassen

Dies ist das Ende dieses Artikels zum Definieren von Daten in Vue. Weitere relevante Inhalte zu Vue-Definitionsdaten finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird!

<<:  IDEA2020.1.2 Detailliertes Tutorial zum Erstellen eines Webprojekts und Konfigurieren von Tomcat

>>:  MySQL führt mehrere Datenzeilen basierend auf der Funktion group_concat() zusammen

Artikel empfehlen

Docker erstellt CMS-On-Demand-System mit Player-Funktion

Inhaltsverzeichnis Text 1. Maschine vorbereiten 2...

HTML verwendet Laufschrift, um Text nach links und rechts scrollen zu lassen

Code kopieren Der Code lautet wie folgt: <KÖRP...

So ändern Sie Port 3389 des Remotedesktops von Windows Server 2008 R2

Die Standardportnummer des Remotedesktops des Win...

MariaDB-Serverinstallation der MySQL-Reihe

Inhaltsverzeichnis Tutorial-Reihe 1. Installieren...

Lösung für das Root-Passwort-Anmeldeproblem in MySQL 5.7

Nachdem ich herausgefunden hatte, dass der vorher...

Einfaches Beispiel für die Leistungsoptimierung von MySQL-SQL-Anweisungen

Einfaches Beispiel für die Leistungsoptimierung v...

Gestaltung der Bildvorschau auf der Inhaltswebseite

<br />Ich habe bereits zwei Artikel geschrie...

Zusammenfassung der vier Möglichkeiten zum Durchlaufen eines Arrays in JS

Dieser Artikel vergleicht und fasst vier Möglichk...

33 Eis- und Schnee-Schriftarten zum Download empfohlen (privat und kommerziell)

01 Winterflocken (nur einzeln) 02 Snowtop Caps (k...

Detaillierte Erläuterung der MySQL 8.0-Richtlinie zum Ablauf von Passwörtern

Ab MySQL 8.0.16 können Sie eine Richtlinie zum Ab...