HTML символы не переводятся во время рендера - PullRequest
0 голосов
/ 16 апреля 2020

У меня есть некоторый js код, который отображает следующее HTML

<div contenteditable="false" tabindex="0" class="ProseMirror">
    <p> didn&#039;t project a significant increase</p>
</div>

В браузере он фактически отображает символы #039; вместо преобразования его в ', есть ли способ заставить / запретить браузеру делать это преобразование?

Ответы [ 2 ]

0 голосов
/ 19 апреля 2020

В моей конкретной ситуации c. Я закончил. до решения проблемы с помощью кодера / декодера he HTML https://www.npmjs.com/package/he для декодирования HTML перед рендерингом.

0 голосов
/ 16 апреля 2020

При рендеринге HTML объекта может потребоваться его компиляция. Вы можете использовать один из следующих вариантов:

  • Интерполяция

<p> didn{{ `&#039;` }}t project a significant increase</p>
  • v-html

<p> didn<span v-html="`&#039;`"></span>t project a significant increase</p>

Обратите внимание, что в этих первых двух примерах используется шаблонный литерал , а не одинарные кавычки.

  • Функция визуализации

Если вы используете функцию рендеринга, вы можете установить innerHTML domProps:

render(h) {
  return h('span', {
    domProps: {
      innerHTML: 'didn&#039;t project a significant increase'
    }
  });
}

Вот демо


Оригинал

Вам не хватает &, оно должно быть:

<p> didn&#039;t project a significant increase</p>
...