Heim> Web-Frontend> View.js> Hauptteil

TypeError: Die Eigenschaft „XXX' von null kann in Vue nicht gelesen werden. Wie gehe ich damit um?

王林
Freigeben: 2023-11-25 10:41:10
Original
1481 Leute haben es durchsucht

Vue中的TypeError: Cannot read property 'XXX' of null,应该如何处理?

TypeError in Vue: Die Eigenschaft „XXX“ von null kann nicht gelesen werden. Wie gehe ich damit um?

Während der Entwicklung mit Vue stoßen wir häufig auf einige Fehler. Unter diesen ist TypeError: Cannot read property 'XXX' of null ein häufiger Fehlertyp. Dieser Fehler tritt normalerweise auf, wenn eine Eigenschaft eines Objekts verwendet wird, das Objekt jedoch null oder undefiniert ist.

Wie sollen wir also mit diesem Fehler umgehen, wenn wir auf ihn stoßen?

Zuerst müssen wir die Ursache dieses Fehlers klären. TypeError: Die Eigenschaft „XXX“ von Null kann nicht gelesen werden. Dies bedeutet, dass wir versuchen, auf die Eigenschaft eines Nullobjekts zuzugreifen. Das bedeutet, dass wir beim Zugriff auf die Eigenschaften des Objekts nicht effektiv beurteilen oder verarbeiten können, ob das Objekt null oder undefiniert ist.

Um dieses Problem zu lösen, können wir die folgenden Methoden anwenden:

  1. Verwenden Sie v-if oder v-show für die bedingte Beurteilung.

In der Vue-Vorlage können wir die Direktive v-if oder v-show verwenden Bedingtes Urteil. Indem wir eine Bedingung hinzufügen, bei der auf die Eigenschaft zugegriffen wird, können wir sicherstellen, dass auf die Eigenschaft nur zugegriffen wird, wenn das Objekt nicht null oder undefiniert ist.

Zum Beispiel können wir in der Vorlage so schreiben:

{{ obj.XXX }}
Nach dem Login kopieren

Auf diese Weise wird der Inhalt in der Vorlage nicht gerendert, wenn das Objekt null ist, wodurch der Fehler beim Zugriff auf das Nullobjekt vermieden wird.

  1. Verwenden Sie ternäre Ausdrücke für die bedingte Beurteilung

Zusätzlich zur Verwendung von v-if oder v-show für die bedingte Beurteilung können wir auch ternäre Ausdrücke für die bedingte Beurteilung verwenden. Durch die Verwendung eines ternären Ausdrucks, bei dem auf die Eigenschaft zugegriffen wird, können wir einen Standardwert verwenden, wenn das Objekt null oder undefiniert ist.

Zum Beispiel können wir in der Vue-Komponente so schreiben:

data() { return { obj: null } }, computed: { objXXX() { return this.obj !== null ? this.obj.XXX : 'default value'; } }
Nach dem Login kopieren

In der Vorlage können wir auf das berechnete Attribut wie auf ein normales Datenattribut zugreifen:

{{ objXXX }}
Nach dem Login kopieren
Nach dem Login kopieren

Wenn das Objekt null ist, gibt das berechnete Attribut einen Standardwert zurück Wert, Dies vermeidet Fehler beim Zugriff auf Nullobjekte.

  1. Optionale Verkettung verwenden

Für Projekte mit einer Vue-Version größer als 2.0 können wir auch optionale Verkettung verwenden, um diesen Fehler zu behandeln. Der optionale Kettenoperator kann beim Zugriff auf die Eigenschaften des Objekts automatisch ermitteln, ob das Objekt null oder undefiniert ist, und undefiniert zurückgeben, wenn das Objekt null oder undefiniert ist.

Zum Beispiel können wir in der Vue-Komponente so schreiben:

data() { return { obj: null } }, computed: { objXXX() { return this.obj?.XXX; } }
Nach dem Login kopieren

In der Vorlage können wir auf die berechnete Eigenschaft wie auf eine normale Dateneigenschaft zugreifen:

{{ objXXX }}
Nach dem Login kopieren
Nach dem Login kopieren

Wenn das Objekt null ist, gibt die berechnete Eigenschaft undefiniert zurück. Dadurch wird vermieden, dass beim Zugriff auf ein Nullobjekt ein Fehler aufgetreten ist.

Zusammenfassend lässt sich sagen, dass wir, wenn wir in Vue auf den Fehler TypeError: Cannot read property 'XXX' of null stoßen, v-if oder v-show für die bedingte Beurteilung, ternäre Ausdrücke für die bedingte Beurteilung oder den optionalen Verkettungsoperator verwenden können für den Attributzugriff. Diese Methoden können den Fehler effektiv behandeln und den normalen Betrieb unserer Anwendung sicherstellen.

Das obige ist der detaillierte Inhalt vonTypeError: Die Eigenschaft „XXX' von null kann in Vue nicht gelesen werden. Wie gehe ich damit um?. 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