Как отменить bySecurityTrustHtml, то есть преобразовать SafeValue обратно в строку

Я генерирую HTML и вставляю его в мою веб-страницу, используя

let data = '<font color=blue>hello world</font>';
this.safevalue = this.domSanitizer.bypassSecurityTrustHtml(data);

В другом месте моего кода я хочу преобразовать безопасное значение обратно в строку, поэтому я попробовал это...

data = this.safevalue.toString();

но это устанавливает данные в строку, как это...

'SafeValue must use [property]=binding: (see http://g.co/ng/security#xss)'

что не полезно

2 ответа

Решение

Я не знаю, если вы уже нашли исправление для этого, но, если вы просто хотите оригинальное значение, помечены как безопасные:

var yourString = this.domSanitizer.sanitize(SecurityContext.HTML, data)

Я копался в исходном коде, и оказалось, что невозможно получить исходную строку из SafeValue, Поэтому я думаю, мне придется хранить параллельный массив данных для всех небезопасных значений.

Другие вопросы по тегам