Я использую канал sanitize html для div.
Угловой компонент onInit запрашивает БД в цикле. Каждый вызов get возвращает текст HTML, который добавляется к массиву строк. Текст HTML — это, по сути, файл, преобразованный из PDF в HTML. Каждый HTML-файл имеет свой собственный тег стиля.
Я предполагаю, что только последний стиль innerHTML применяется ко всем предыдущим дочерним HTML, отсюда и беспорядочное содержимое (если мое предположение неверно).
Есть какие-нибудь предложения по решению проблемы?
HTML
Код: Выделить всё
Код: Выделить всё
@Pipe({ name: 'sanitizeHtml'})
export class SanitizeHtmlPipe implements PipeTransform {
constructor(private _sanitizer: DomSanitizer) { }
transform(value: string): SafeHtml {
return this._sanitizer.bypassSecurityTrustHtml(value);
}
}
Код: Выделить всё
ngOnInit(){
this.questionset = this.storage.get(quesId);
//pseudo code
forEach(item in this.questionset){
this.getHTMLfromDB(item)
}
}
getHTMLfromDB(question: QuestionBank) {
this.Service.getQuestionHtmlFile(question.questionFilePath).subscribe(res =>
{
this.questionDataFromHtml.push(res.text());
question.questionData.questionDataFromHtml = res.text();
});
Правильное отображение.
Неверное отображение. Вопрос 1 и Вопрос 2 отличаются
Неправильное отображение
Stackblitz:
stackblitz
Подробнее здесь: https://stackoverflow.com/questions/667 ... played-cor
Мобильная версия