2.5.17
https://codepen.io/avertes/pen/LYYpNRe
https://jsfiddle.net/50wL7mdz/756973/
A saída deve conter um espaço não separável
A saída mostra
No exemplo fornecido, fiz 3 casos
 
foi transformado em
NON-BREAKING SPACE
tem escape.HTMLElement
normal com document.querySelector('#test').title
o caractere não é escape.Nota : Ao copiar o caractere de espaço sem quebra, ele pode se transformar em um espaço regular na área de transferência. Portanto, use https://en.wikipedia.org/wiki/Non-breaking_space#Keyboard_entry_methods para ter certeza de como inserir o caractere.
Eu adicionei um novo exemplo - onde em uma lista de entidades html (incluindo outros espaços em branco e caracteres de largura zero) - apenas
não decodificado.
Também notei que em mathiasbynens / he existem duas entradas para
uma sem simicolon e outra com simicolon.
Pode ser um tiro no escuro, mas isso pode ter alguma influência no resultado acima?
Tentei usar mathiasbynens / he v1.1.1 para encontrar inconsistências com
, mas não consegui encontrar nenhuma.
Eu tentei duplicar meus jsfiddles anteriores, para ver se
reagiria de forma diferente.
Se alguém puder me dar algumas dicas de onde procurar esse erro, estou mais do que feliz em tentar.
Eu também apreciaria muito qualquer resposta sobre o assunto.
Parece um bug para mim - uma correção seria bom
Eu percebi problemas com ×
ocasionalmente. digamos que um componente prop tenha um padrão de ×
, que é renderizado no componente (v-html). Ao renderizar, ele mostra o caractere x
real e causa uma queda de hidratação SSR.
Outro exemplo: https://jsfiddle.net/onbzk0m6/ (personagem)
Sim - parece estar relacionado à maneira como o Vue analisa os atributos html em geral.
Eu fiz um exemplo semelhante com base no exemplo
https://jsfiddle.net/onbzk0m6/3/
como solução alternativa, tente colocar o código de escape JS para
- \xa0
encontrado aqui , funcionou para mim na função nonbreakinspacification
public static noBreakingSpaces(str: string): string {
return str.replace(' ', '\xa0');
}
strings retornadas por esta função estão sendo renderizadas com  
s em vez de espaços.
Me deparei com o mesmo problema: a entidade html resulta em "" como texto quando usada em modelos em vez do hífen suave. O mesmo para "" e outros.
Vue 2.6.10
para quem está procurando uma solução alternativa para isso:
Ao passar uma string com espaços não separáveis como suporte, apenas substituí os espaços por caracteres que provavelmente não fazem parte da string, no meu caso 'zzz'
var newName = program_name.replace(/\s/g,'zzz');
Então, no componente real onde eu preciso exibir ou usar este prop, eu tenho uma função computada que desfaz a ação acima e substitui os caracteres do marcador por espaços novamente
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 Desculpe incomodá-lo, encontrei uma solução para este problema.
Após minha correção, o comportamento do Vue será o mesmo do HTML, assim como a imagem abaixo,
Posso pegar esse problema e fazer uma solicitação pull?
Claro, @JuniorTour
Esse problema pode estar relacionado a https://github.com/vuejs/vue/issues/10485 e https://github.com/vuejs/vue/issues/11059
Portanto, também vale a pena dar uma olhada nos RP
Comentários muito úteis
como solução alternativa, tente colocar o código de escape JS para
-\xa0
encontrado aqui , funcionou para mim na função nonbreakinspacification
strings retornadas por esta função estão sendo renderizadas com
 
s em vez de espaços.