Lösung für Vues Unfähigkeit, Array-Änderungen zu beobachten

Lösung für Vues Unfähigkeit, Array-Änderungen zu beobachten

1. Vue-Listener-Array

Vue kann Array-Änderungen überwachen, wie zum Beispiel

Daten () {
  zurückkehren {
    UhrArr: [],
  };
},
watchArr (neuerWert) {
  console.log('Listening: ' + newVal);
},
erstellt () {
  setzeTimeout(() => {
    dies.watchArr = [1, 2, 3];
  }, 1000);
},

Verwenden Sie beispielsweise splice(0,2,3), um zwei Elemente aus dem Array-Index 0 zu löschen und ein Element 3 am Index 0 einzufügen.

Daten () {
  zurückkehren {
    UhrArr: [1, 2, 3],
  };
},
watchArr (neuerWert) {
  console.log('Listening: ' + newVal);
},
erstellt () {
  setzeTimeout(() => {
    dies.watchArr.splice(0, 2, 3);
  }, 1000);
},

Auch das Push-Array kann überwacht werden.

2. Situationen, in denen Vue Array-Änderungen nicht überwachen kann

Allerdings können Arrays in den folgenden beiden Situationen nicht überwacht werden

  • Wenn Sie ein Array-Element direkt über einen Index festlegen, zum Beispiel arr[indexofitem]=newValue
  • Beim Ändern der Länge eines Arrays, zum Beispiel arr.length = newLength

Beispiel für eine Situation, in der Array-Änderungen nicht überwacht werden können

1. Verwenden Sie Indizes, um Array-Werte direkt zu ändern

Daten () {
  zurückkehren {
    UhrArr: [{
      Name: 'krry',
    }],
  };
},
watchArr (neuerWert) {
  console.log('Listening: ' + newVal);
},
erstellt () {
  setzeTimeout(() => {
    this.watchArr[0].name = "xiaoyue";
  }, 1000);
},

2. Ändern Sie die Länge des Arrays

  • Wenn die Länge größer als das ursprüngliche Array ist, werden die nachfolgenden Elemente auf undefiniert gesetzt
  • Wenn die Länge kürzer als das ursprüngliche Array ist, werden die zusätzlichen Elemente abgeschnitten.
Daten () {
  zurückkehren {
    UhrArr: [{
      Name: 'krry',
    }],
  };
},
watchArr (neuerWert) {
  console.log('Listening: ' + newVal);
},
erstellt () {
  setzeTimeout(() => {
    diese.watchArr.length = 5;
  }, 1000);
},

Dies ist das Ende dieses Artikels darüber, dass Vue keine Array-Änderungen beobachten kann. Weitere verwandte Inhalte darüber, dass Vue keine Array-Änderungen beobachten kann, finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

Das könnte Sie auch interessieren:
  • Details zu den Überwachungseigenschaften der Uhr in Vue
  • Detaillierte Erklärung der grundlegenden Verwendung des VUE Watch Listener
  • Gründe und Lösungen für die mehrfache Ausführung der Überwachungsmethode, wenn Vue Routenänderungen überwacht
  • Vue Watch zur Eigenschaftsüberwachung in Objekten
  • Zusammenfassung der Vue Watch-Überwachungsmethoden

<<:  Detaillierte Erklärung der Docker-Nutzung unter CentOS8

>>:  Gründe und Optimierungslösungen für langsames MySQL-Limit-Paging mit großen Offsets

Artikel empfehlen

Kreisförmiger Fortschrittsbalken mit CSS implementiert

Ergebnisse erzielen Implementierungscode html <...

Detaillierte Verwendung der MySQL-Funktionen row_number() und over()

Syntaxformat: row_number() über (Partition durch ...

JS implementiert einen einfachen Zähler

Verwenden Sie HTML, CSS und JavaScript, um einen ...

Detailliertes Tutorial zur Installation von SonarQube mit Docker

Inhaltsverzeichnis 1. Ziehen Sie das Bild 1.1 Zie...

Docker-Container greift auf MySQL-Operationen des Hosts zu

Hintergrund: Es gibt ein Flask-Projekt, das eine ...

Detaillierte Erklärung der Rolle des neuen Operators in Js

Vorwort Js ist heutzutage die am häufigsten verwe...

Verwendung und Prinzipien von Provide und Inject in Vue3

Vorwort: Beim Übergeben von Daten zwischen überge...

MySQL-Datenbank-Entwicklungsspezifikationen [empfohlen]

Vor Kurzem haben wir SQL zur Optimierung online e...

Detaillierte Erläuterung der einfachen Verwendung des MySQL-Abfragecaches

Inhaltsverzeichnis 1. Implementierungsprozess des...

So installieren Sie Docker auf Ubuntu20.04 LTS

Null: Alte Version deinstallieren Ältere Versione...

Vue implementiert das Hoch- und Herunterladen von Dateien

In diesem Artikelbeispiel wird der spezifische Co...

Implementierung des Docker-Verpackungsimages und Konfigurationsänderung

Ich bin in letzter Zeit beim Erlernen von Docker ...