Vue: El valor vacío de la propiedad hace que falle la compilación de la plantilla

Creado en 18 oct. 2016  ·  3Comentarios  ·  Fuente: vuejs/vue

Versión de Vue.js

2.0.3

Enlace de reproducción

https://jsfiddle.net/jt3hjuwg/

pasos para reproducir

Enlaza un objeto que tenga una cadena vacía como valor. Si tuviera que proporcionar un objeto JSON o la cadena null , funcionaría, pero si usa una cadena vacía, la plantilla no se compilará.

No estoy seguro de si este es el comportamiento esperado en Vue 2 (solía funcionar en Vue 1). Sin embargo, se siente un poco contradictorio. Por ejemplo, si proporciono contenido como un accesorio del lado del servidor, necesito verificar si existe y devolver la cadena literal null contrario.

¿Lo que es esperado?

La aplicación aún se procesa, pero la propiedad se convierte en una cadena vacía o nula.

¿Qué está pasando realmente?

Se muestra una advertencia en la consola y la aplicación no se procesa.

[Vue warn]: failed to compile template:

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

(found in root instance)

Comentario más útil

@fnlctrl
¿Cómo lo harías con los apoyos numéricos?

Todos 3 comentarios

Hola, gracias por llenar este número.

si usa una cadena vacía, la plantilla no se compilará.

No está configurando una cadena vacía con <review :review=""></review> .
La forma correcta es: <review :review="''"></review> . Recuerde que v-bind espera expresiones javascript. https://jsfiddle.net/fnlCtrl/jt3hjuwg/1/

Por ejemplo, si proporciono contenido como un accesorio del lado del servidor, necesito verificar si existe y devolver la cadena literal nula de lo contrario.

Solo necesitas darle una cadena vacía '' , eso es todo.

¿No hay una mejor manera para que Vue lidie con esto? ¿O es posible proporcionar un mejor tipo de manejo de errores en lugar de descargar la mitad del DOM dentro de la consola cuando esto sucede?

@fnlctrl
¿Cómo lo harías con los apoyos numéricos?

¿Fue útil esta página
0 / 5 - 0 calificaciones