Дезинфицировать URL-адрес в объекте, а не один URL-адрес

У меня есть объект с элементами success, summary и detail, используемыми для отображения сообщения в сообщении PrimeNG (p-messages) после создания записи. После создания записи я вызываю метод displayMessage, чтобы установить переменную msg

form.ts:

...
this.displayMessage(data);

baseForm.ts:

displayMessage(data: string) {
    var success = data["success"];
    var summary = data["summary"];        
    var detail = data["detail"]; // <a href="http:/.... ">name</a>
    this.msg.push({ success: success, summary: summary, detail: detail });
}

а затем отобразить сообщение, как показано ниже в html:

<p-messages [value]="msg"></p-messages>

Однако тег гиперссылки «‹a» изменен на «‹a», и я думаю, что мне нужно очистить URL-адрес, используя что-то, как описано в Angular 6 очищает URL-адрес локального диска. Хотя я пытался использовать этот метод, мне это не удалось, потому что мне нужно очистить URL-адрес в подробной переменной, а связанный метод находится в базовом классе. Итак, как я могу правильно отображать URL-адрес? И какие изменения следует внести в приведенный пример?


person Community    schedule 20.07.2020    source источник
comment
Внутри data['detail'] у вас есть только строка URL-адреса (http://....) или элемент html a (<a href="http:/.... ">name</a>)?   -  person gbalduzzi    schedule 20.07.2020
comment
@gbalduzzi Деталь имеет гиперссылку типа <a href="http:/.... ">name</a>.   -  person    schedule 20.07.2020
comment
С другой стороны, я отлаживал гиперссылку до тех пор, пока она не перешла в html, и гиперссылка не увидит, что все в порядке. Но на странице html он изменен.   -  person    schedule 20.07.2020


Ответы (1)


Вы должны сказать PrimeNG, чтобы он не уходил от деталей:

<p-messages [value]="msg" [escape]="false"></p-messages>
person gbalduzzi    schedule 20.07.2020
comment
Ты молодец!.. Где ты был? Я просмотрел много страниц, посвященных этой проблеме, и не нашел решения, даже более сложного по сравнению с вашим решением :) Это очень просто и элегантно, проголосовал ++;) - person ; 20.07.2020
comment
Я только что погуглил официальную документацию. - person gbalduzzi; 20.07.2020
comment
Если ответ правильный, вы должны отметить его как принятый, если только вы не хотите ждать других ответов. - person gbalduzzi; 20.07.2020
comment
Конечно, он будет отмечен как ответ, но мне нужно подождать несколько минут, так как SO не позволяет мне пометить его как ответ. Теперь хорошо. - person ; 20.07.2020
comment
При чем здесь побег? Побег от некоторых персонажей? - person ; 20.07.2020
comment
Если вы включите экранирование, пользовательские символы HTML (такие как <, >) экранируются, т. е. преобразуются таким образом, что браузеры воспринимают их не как символы HTML, а как обычный текст. Без экранирования было бы невозможно напечатать < на странице. См. en.wikipedia.org/wiki/. - person gbalduzzi; 20.07.2020