Heim > Web-Frontend > View.js > $forceUpdate in Vue erzwingt Aktualisierungen

$forceUpdate in Vue erzwingt Aktualisierungen

WBOY
Freigeben: 2023-06-11 10:27:07
Original
2692 Leute haben es durchsucht

Vue ist ein beliebtes JavaScript-Framework zum Erstellen interaktiver Webseiten. Der eingeführte virtuelle DOM-Mechanismus macht die Aktualisierung von Ansichten effizienter und schneller.

Allerdings müssen wir manchmal die Aktualisierung der Ansicht einer Komponente erzwingen, auch wenn sich die Daten nicht geändert haben. Zu diesem Zeitpunkt müssen Sie die von Vue bereitgestellte $forceUpdate-Methode verwenden.

$forceUpdate ist eine Methode in der Vue-Instanz, die die Aktualisierung der Ansicht der aktuellen Komponente erzwingt, auch wenn sich die Daten nicht geändert haben. Beachten Sie jedoch, dass dies zu Leistungsproblemen führen kann, da Vue den Ansichtsbaum neu berechnet und die Komponenten neu rendert.

Die Verwendung der Methode $forceUpdate ist sehr einfach. Wir müssen es nur in der Vue-Instanz aufrufen, zum Beispiel:

export default {
  data() {
    return {
      count: 0
    };
  },
  methods: {
    increment() {
      this.count++;
      this.$forceUpdate();
    }
  }
}
Nach dem Login kopieren

In diesem Beispiel definieren wir eine Datenvariablenanzahl und ein Methodeninkrement. Wenn die Inkrementierungsmethode aufgerufen wird, erhöhen wir die Zählvariable und rufen dann die Methode $forceUpdate auf, um die Aktualisierung der Ansicht der Komponente zu erzwingen.

Es ist zu beachten, dass die Methode $forceUpdate nur auf die aktuelle Komponente und ihre Unterkomponenten wirkt. Wenn wir die Ansicht der übergeordneten Komponente aktualisieren möchten, können wir die Methode $emit verwenden, um ein benutzerdefiniertes Ereignis auszulösen.

// 子组件
<template>
  <button @click="increment">{{ count }}</button>
</template>

export default {
  props: ['count'],
  methods: {
    increment() {
      this.$emit('force-update');
    }
  }
}

// 父组件
<template>
  <div>
    <child-component :count="count" @force-update="forceUpdate"></child-component>
  </div>
</template>

export default {
  data() {
    return {
      count: 0
    };
  },
  methods: {
    forceUpdate() {
      this.$forceUpdate();
    }
  }
}
Nach dem Login kopieren

In diesem Beispiel löst die untergeordnete Komponente über die Methode $emit ein benutzerdefiniertes Ereignis namens „force-update“ aus. In der übergeordneten Komponente verwenden wir @force-update, um dieses Ereignis in der untergeordneten Komponente abzuhören, und rufen die Methode $forceUpdate in der Rückruffunktion auf, um die Ansicht der übergeordneten Komponente zu aktualisieren.

Es ist zu beachten, dass die Verwendung der Methode $forceUpdate zu Leistungsproblemen und Komplikationen führen kann. Daher sollten wir versuchen, die Verwendung zu vermeiden, aber Aktualisierungen automatisch auslösen, indem wir Daten ändern, oder elastische Daten verwenden, um eine bessere Leistung und Wartbarkeit zu erzielen.

Das obige ist der detaillierte Inhalt von$forceUpdate in Vue erzwingt Aktualisierungen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage