#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, а не обычный текст.