Как получить

#vue.js

#vue.js

Вопрос:

На странице, над которой я работаю, я пытаюсь получить заголовок сообщения в блоге для чтения как Sleep—It's frustratingly Important. , где между и есть тире em Sleep It's . Ранее у меня это было жестко запрограммировано как

 <h2 class="post-title"><router-link to="/posts/1">Sleepamp;#8212It's frustratingly Important. </router-link></h2>
  

который работал нормально. Я хочу обобщить это, поэтому в моем бэкэнде Rails у меня есть заголовок сообщения, сохраненный как Sleepamp;#8212It's frustratingly Important. . Но когда я вставляю заголовок сообщения с помощью интерполяции

 <h2 class="post-title"><router-link to="/posts/1"> {{ this.posts[0].title }} </router-link></h2>
  

Он не вставляет тире em. Он отображается как «Sleepamp; #8212это крайне важно».

Почему html не распознает, что amp;#8212 следует изменить на em dash? И как мне исправить эту проблему?

Ответ №1:

Ожидается, что содержимое между {{ и }} будет выражением, которое преобразуется в обычный текст. Он преобразуется в текстовый узел. Он не обрабатывается как HTML.

Если вам нужен em-dash, используйте настоящий em-dash : .

Вы также могли бы посмотреть dangerouslySetInnerHTML , но он назван так не просто так.

Комментарии:

1. Чтобы уточнить, «использовать настоящий em-dash» означает, например, скопировать / вставить тире em в любое место, где хранится ваш текст. amp;#8212; это HTML, а не обычный текст.