Heim Web-Frontend Front-End-Fragen und Antworten Warum verfügt Vue Computed über einen Cache?

Warum verfügt Vue Computed über einen Cache?

May 08, 2023 am 09:30 AM

In Vue verwenden wir häufig berechnete Eigenschaften (berechnet), eine praktische Methode für berechnete Eigenschaften, die von Vue bereitgestellt wird. Mithilfe von „Computed“ können Sie ganz einfach dynamisch einen neuen Wert basierend auf Datenänderungen berechnen, ohne viele logische Urteile in die Vorlage schreiben zu müssen.

Aber im Gegensatz zu Methoden oder Beobachtern verfügt Computed über einen Caching-Mechanismus. Mit anderen Worten: Wenn sich die Daten, von denen ein berechnetes Attribut abhängt, nicht geändert haben, wird der Wert nicht neu berechnet, wodurch die Berechnungseffizienz verbessert wird.

Lassen Sie uns nun besprechen, warum Computer über einen Caching-Mechanismus verfügen.

Schauen wir uns zunächst ein Beispiel an:

<template>
  <div>{{ message }}</div>
  <button @click="updateData">Update data</button>
</template>

<script>
export default {
  data() {
    return {
      firstName: 'John',
      lastName: 'Doe',
    }
  },
  computed: {
    message() {
      console.log('computed');
      return `${this.firstName} ${this.lastName}`;
    },
  },
  methods: {
    updateData() {
      this.firstName = 'Tom';
    },
  },
};
</script>
Nach dem Login kopieren

Wenn wir die Seite zum ersten Mal rendern, wird berechnet mit einem neuen Wert berechnet und console.log('computed')也只会在这个时候执行一次。接着,我们点击button,firstName被修改为'Tom',此时我们会发现,页面上的message并没有被重新计算,console.log('computed') wird nicht ausgeführt.

Einfach ausgedrückt liegt das daran, dass die Berechnung einen Caching-Mechanismus verwendet. Wenn sich die Daten, von denen die Berechnung abhängt, nicht geändert haben, ruft Vue die Berechnungsergebnisse direkt aus dem Cache ab, ohne dass eine erneute Operation erforderlich ist. Daher lösen wir hier die Änderung der Aktualisierung von Vorname aus. Obwohl die Daten geändert wurden, wurde die Nachricht aufgrund des berechneten Caching-Mechanismus nicht neu berechnet.

Mit diesem Caching-Mechanismus können wir nicht nur die Recheneffizienz verbessern, sondern auch unnötige Berechnungen vermeiden, wodurch die Belegung von Systemressourcen reduziert und die Systemleistung verbessert wird.

In einigen spezifischen Szenarien kann der berechnete Caching-Mechanismus jedoch einige Probleme verursachen, z. B. die Rückgabe zwischengespeicherter Werte, wenn die abhängigen Daten leer sind. Dies erfordert, dass wir bei der Verwendung von Berechnungen auf Datenänderungen achten, um die Richtigkeit der Berechnungsergebnisse sicherzustellen.

Kurz gesagt, der Computer-Caching-Mechanismus ist eine der sehr nützlichen Funktionen bei der persönlichen Entwicklung und bei Projekten. Es ermöglicht uns, Datenberechnungen bequemer durchzuführen und verbessert gleichzeitig die Leistung des Systems. Es verdient unser tiefgreifendes Verständnis und seine Verwendung.

Das obige ist der detaillierte Inhalt vonWarum verfügt Vue Computed über einen Cache?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße Artikel -Tags

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Was ist Useffizität? Wie verwenden Sie es, um Nebenwirkungen auszuführen? Was ist Useffizität? Wie verwenden Sie es, um Nebenwirkungen auszuführen? Mar 19, 2025 pm 03:58 PM

Was ist Useffizität? Wie verwenden Sie es, um Nebenwirkungen auszuführen?

Erklären Sie das Konzept des faulen Ladens. Erklären Sie das Konzept des faulen Ladens. Mar 13, 2025 pm 07:47 PM

Erklären Sie das Konzept des faulen Ladens.

Wie funktioniert das Currying in JavaScript und wie hoch sind ihre Vorteile? Wie funktioniert das Currying in JavaScript und wie hoch sind ihre Vorteile? Mar 18, 2025 pm 01:45 PM

Wie funktioniert das Currying in JavaScript und wie hoch sind ihre Vorteile?

Was sind Funktionen höherer Ordnung in JavaScript und wie können sie verwendet werden, um prägnanter und wiederverwendbarer Code zu schreiben? Was sind Funktionen höherer Ordnung in JavaScript und wie können sie verwendet werden, um prägnanter und wiederverwendbarer Code zu schreiben? Mar 18, 2025 pm 01:44 PM

Was sind Funktionen höherer Ordnung in JavaScript und wie können sie verwendet werden, um prägnanter und wiederverwendbarer Code zu schreiben?

Was ist usecontext? Wie verwenden Sie es, um den Zustand zwischen Komponenten zu teilen? Was ist usecontext? Wie verwenden Sie es, um den Zustand zwischen Komponenten zu teilen? Mar 19, 2025 pm 03:59 PM

Was ist usecontext? Wie verwenden Sie es, um den Zustand zwischen Komponenten zu teilen?

Wie verhindern Sie das Standardverhalten bei Ereignishandlern? Wie verhindern Sie das Standardverhalten bei Ereignishandlern? Mar 19, 2025 pm 04:10 PM

Wie verhindern Sie das Standardverhalten bei Ereignishandlern?

Wie funktioniert der React -Versöhnungsalgorithmus? Wie funktioniert der React -Versöhnungsalgorithmus? Mar 18, 2025 pm 01:58 PM

Wie funktioniert der React -Versöhnungsalgorithmus?

Was sind die Vor- und Nachteile kontrollierter und unkontrollierter Komponenten? Was sind die Vor- und Nachteile kontrollierter und unkontrollierter Komponenten? Mar 19, 2025 pm 04:16 PM

Was sind die Vor- und Nachteile kontrollierter und unkontrollierter Komponenten?

See all articles