ng-bind-html удаляет содержимое после <(меньше знака) - PullRequest
0 голосов
/ 04 марта 2019

Я использую угловой v1.5.6.У меня есть некоторые введенные пользователем данные HTML, а также специальные символы, хранящиеся в базе данных.Для иллюстрации:

var txt = "<span class='txt_bold'> content with <lessthan signs<span> <span>";

var txt1 = "<span class='txt_bold'> content with <4 lessthan >greaterthan signs <span>";

Когда я помещаю две строки в директиве ng-bind-html выше, я получаю вывод, как показано ниже.

txt : content with 
txt1 : content with <4 lessthan >greaterthan signs

Как мы видим слово после <(меньшечем) знак из <code>txt удаляется директивой.Я пробовал решения, представленные в следующих темах.Однако ни один из них не помог мне сохранить работоспособность эффекта html css.

  1. ng-bind-html работает частично, чем ожидалось
  2. Вставить HTML

Любая подсказка будет высоко оценена.

1 Ответ

0 голосов
/ 04 марта 2019
<span class='txt_bold'> content with <lessthan signs<span> <span>

Как мы видим, после слова <(меньше чем) знак из текста удаляется директивой </p>

Это неверно.Строка фактически анализируется как:

<span class="txt_bold">
  content with
  <lessthan signs<span>
    <span></span>
  </lessthan>
</span>

<lessthan не удаляется;он анализируется как тег <lessthan>.Это не удаляется;он отображается как пустой.

Чтобы избежать синтаксического анализа, используйте html entity :

&lt;lessthan

Для получения дополнительной информации см. Справочник по MDN Web API - innerHTMLэксплуатационные данные

...