Vue: Ein leerer Wert für die Eigenschaft führt dazu, dass die Kompilierung der Vorlage fehlschlägt

Erstellt am 18. Okt. 2016  ·  3Kommentare  ·  Quelle: vuejs/vue

Vue.js-Version

2.0.3

Reproduktionslink

https://jsfiddle.net/jt3hjuwg/

Schritte zum Reproduzieren

Binden Sie eine Requisite, die eine leere Zeichenfolge als Wert hat. Wenn Sie ein JSON-Objekt oder die Zeichenfolge null bereitstellen, würde dies funktionieren, aber wenn Sie eine leere Zeichenfolge verwenden, kann die Vorlage nicht kompiliert werden.

Ich bin mir nicht sicher, ob dies das erwartete Verhalten in Vue 2 ist (es funktionierte früher in Vue 1). Es fühlt sich jedoch ein wenig kontraintuitiv an. Wenn ich zum Beispiel Inhalt als Requisite serverseitig bereitstelle, muss ich prüfen, ob er existiert und andernfalls die Literalzeichenfolge null .

Was wird erwartet?

Die Anwendung rendert weiterhin, aber die Eigenschaft wird eine leere Zeichenfolge oder null.

Was passiert eigentlich?

In der Konsole wird eine Warnung angezeigt und die Anwendung kann nicht gerendert werden.

[Vue warn]: failed to compile template:

<review :review=""></review>

(found in root instance)

Hilfreichster Kommentar

@fnlctrl
Wie würdest du es mit Number Requisiten machen?

Alle 3 Kommentare

Hallo, danke für das Ausfüllen dieses Problems.

Wenn Sie eine leere Zeichenfolge verwenden, kann die Vorlage nicht kompiliert werden.

Sie setzen keine leere Zeichenfolge mit <review :review=""></review> .
Der richtige Weg ist: <review :review="''"></review> . Denken Sie daran, dass v-bind Javascript-Ausdrücke erwartet. https://jsfiddle.net/fnlCtrl/jt3hjuwg/1/

Wenn ich beispielsweise Inhalt als Requisite serverseitig bereitstelle, muss ich überprüfen, ob er existiert, und ansonsten die Literalzeichenfolge null zurückgeben.

Sie müssen ihm nur eine leere Zeichenfolge '' , das ist alles.

Gibt es nicht einen besseren Weg für Vue, damit umzugehen? Oder können Sie in diesem Fall eine bessere Art der Fehlerbehandlung bereitstellen, anstatt die Hälfte des DOM in der Konsole zu speichern?

@fnlctrl
Wie würdest du es mit Number Requisiten machen?

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen