Vue: Leere gebundene Requisiten verursachen eine Render-Ausnahme

Erstellt am 14. März 2017  ·  3Kommentare  ·  Quelle: vuejs/vue

Vue.js-Version

2.2.4

Reproduktionslink

https://jsfiddle.net/wwuyv17z/

Schritte zum Reproduzieren

Übergeben Sie nichts an eine gebundene Requisite wie im Beispiel: <test :user=""></test>

Was wird erwartet?

Schlimmstenfalls würde ich eine Warnung in der Konsole und keinen Absturz erwarten; bestenfalls würde ich erwarten, dass die Stütze mit einem null Wert für die Komponente durchkommt.

Wenn vereinbart wird, dass eine Verwarnung oder Nullersetzung erfolgen soll, versuche ich gerne, diese Änderung selbst zu beantragen.

Was passiert eigentlich?

Es tritt ein ähnlicher Fehler auf:

[Vue warn]: Failed to generate render function:

SyntaxError: Unexpected token } in

with(this){return _c('div',{attrs:{"id":"app"}},[_c('test',{attrs:{"user":}})],1)}

(found in <Root>)

Alle 3 Kommentare

Dies wird erwartet. Sie würden auch in JS einen Syntaxfehler erhalten, wenn Sie einem Objektfeld keinen Wert zuweisen.

Danke für die Antwort Evan.

Ich weis das zu schätzen. Sobald Sie sich über die Tatsache informiert haben, dass gebundene Requisiten im Grunde Javascript-Eigenschaften sind.

Verfügt Vue in diesem Fall über ein Konzept zur Fehlerprüfung im Entwicklungsmodus? Ich habe gerade einem Anfänger geholfen, der auf dieses Problem gestoßen ist - ich denke, er hätte das Problem selbst lösen können, wenn er etwas Ähnliches erhalten hätte:

[Vue warn] Bound property 'user' should not be empty on component 'test'

Auch hier versuchen Sie es gerne und fügen Sie dies hinzu, wenn Sie es für nützlich halten.

Ja, dies sollte möglich sein, indem Sie hier value markieren . Wenn Sie an einer PR arbeiten, fügen Sie unbedingt einen begleitenden Testfall bei.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen