Отображение строки с HTML-тегами в Angular 4+

Перейти в телеграм, чтобы получить результаты теста
Пройдите тест, узнайте какой профессии подходите
Вам подходит профессия:
Аналитик данных
Основные характеристики профессии:
не нужно общаться с людьми
логика
анализ
поиск закономерностей
работа с числами
Построим личный план перехода в профессию для вас бесплатно
- убедитесь, подходит вам профессия или нет
- получите оценку своих навыков и шансов освоить профессию
- забронируем за вами скидку 55% на обучение, пока думаете
Позвоним вам в течение часа — не пропустите звонок
Чем занимается специалист
Специалист создает все онлайн-продукты, программы, приложения, игры и сайты, которыми вы пользуетесь каждый день.
Создает — значит описывает последовательность действий на специальном языке программирования. Настраивает действия, что должно произойти, если пользователь нажмет на кнопку.
Средняя зарплата начинающего специалиста в первый год работы:
от 50 000 ₽
Что надо знать и уметь, чтобы выучиться на аналитика:
- базовое школьное образование
- уверенные навыки работы с компьютером
- опыт выполнения задач в конкретные сроки
Глубокие знания математики или английского не нужны
Почему мы рекомендуем вам эту профессию
Ваш скрытый талант:
наблюдательность
Очень часто разработчики сталкиваются с задачей, когда необходимо отобразить строку, включающую HTML-теги, в Angular 4+. Допустим, есть следующая строка:
Очень часто разработчики сталкиваются с задачей, когда необходимо отобразить строку, включающую HTML-теги, в Angular 4+. Допустим, есть следующая строка:
let str = "<p><em><strong>Пример</strong></em></p>";
При попытке вывести данную строку в HTML с использованием обычной интерполяции, как показано ниже:
{{str}}
Результатом будет просто отображение самой строки, включая HTML-теги:
<p><em><strong>Пример</strong></em></p>
Но что делать, если необходимо, чтобы текст «Пример» отображался полужирным и курсивом, а не просто текстом с тегами?
Для решения этой проблемы в Angular предусмотрен специальный атрибут innerHTML
. Он позволяет интерпретировать содержимое строки как HTML-код и отображать его соответствующим образом.
Вот как должен выглядеть код для решения этой задачи:
<div [innerHTML]="str"></div>
Теперь строка будет отображаться в виде HTML-кода, и текст «Пример» будет выведен полужирным и курсивом, как и было задумано.
Однако стоит помнить, что использование innerHTML
может быть потенциально опасным, так как это может привести к атакам типа Cross Site Scripting (XSS). Поэтому необходимо всегда быть уверенным в том, что содержимое строки безопасно для отображения.
В этом примере использовалась простая строка, но подход будет работать и для строк, полученных динамически.
Добавить комментарий