2.5.17
https://codepen.io/avertes/pen/LYYpNRe
https://jsfiddle.net/50wL7mdz/756973/
La salida debe contener un espacio que no se rompa
La salida muestra
En el ejemplo proporcionado, hice 3 casos.
 
se convierten en
NON-BREAKING SPACE
.HTMLElement
normal con document.querySelector('#test').title
el carácter no es un escape.Nota : Al copiar el carácter de espacio que no se separa, puede convertirse en un espacio normal en el portapapeles. Por lo tanto, use https://en.wikipedia.org/wiki/Non-breaking_space#Keyboard_entry_methods para asegurarse de cómo insertar el carácter.
Agregué un nuevo ejemplo, donde en una lista de entidades html (incluidos otros espacios en blanco y caracteres de ancho cero), solo
no decodificados.
También he notado que en mathiasbynens / he hay dos entradas para
una sin simicolon y otra con simicolon.
Podría ser un disparo en la oscuridad, pero ¿podría esto tener alguna influencia en el resultado anterior?
Intenté usar mathiasbynens / he v1.1.1 para encontrar inconsistencias con
, pero no he podido encontrar ninguna.
Intenté duplicar mis jsfiddles anteriores, para ver si
reaccionaría de manera diferente.
Si alguien me puede dar algunos consejos sobre dónde buscar este error, estoy más que feliz de intentarlo.
También agradecería mucho cualquier respuesta al tema.
Me parece un error; una solución sería buena
He notado problemas con ×
en ocasiones. digamos que una propiedad de componente tiene un valor predeterminado de ×
, que se representa en el componente (v-html). Al renderizar, muestra el carácter x
real y provoca una fianza de hidratación SSR.
Otro ejemplo: https://jsfiddle.net/onbzk0m6/ (personaje)
Sí, parece estar relacionado con la forma en que Vue analiza los atributos html en general.
Hice un ejemplo similar basado en el ejemplo @approcted
https://jsfiddle.net/onbzk0m6/3/
como solución alternativa, intente poner el código de escape JS para
- \xa0
encontrado aquí , funcionó para mí en la función de no romper la opacificación
public static noBreakingSpaces(str: string): string {
return str.replace(' ', '\xa0');
}
Las cadenas devueltas por esta función se representan con  
s en lugar de espacios.
Me encontré con el mismo problema: la entidad html da como resultado "" como texto cuando se usa en plantillas en lugar del guión suave. Lo mismo para "" y otros.
Vue 2.6.10
para las personas que buscan una solución alternativa para esto:
Al pasar una cadena con espacios que no se rompen como accesorio, simplemente reemplacé los espacios con caracteres que es poco probable que formen parte de la cadena, en mi caso 'zzz'
var newName = program_name.replace(/\s/g,'zzz');
Luego, en el componente real donde necesito mostrar o usar este accesorio, tengo una función calculada que deshace la acción anterior y reemplaza los caracteres del marcador de posición con espacios nuevamente
correctedProgramName(){ //this reverses the space-replacing we had to do in reporting-dashboard.js
let correctedProgramName = this.program_name.replace(/zzz/g, ' ')
return correctedProgramName
}
@posva Lamento molestarlo, encontré una solución para este problema.
Después de mi corrección, el comportamiento de Vue será el mismo que HTML, al igual que la captura de pantalla a continuación,
¿Puedo recoger este problema y realizar una solicitud de extracción?
Seguro @JuniorTour
Este problema puede estar relacionado con https://github.com/vuejs/vue/issues/10485 y https://github.com/vuejs/vue/issues/11059
Por lo que también vale la pena echar un vistazo a los RP existentes
Comentario más útil
como solución alternativa, intente poner el código de escape JS para
-\xa0
encontrado aquí , funcionó para mí en la función de no romper la opacificación
Las cadenas devueltas por esta función se representan con
 
s en lugar de espacios.