Я храню HTML-страницу в MongoDb и отображаю ее как innerHTML во время выполнения на основе blogId.Я храню HTML-код в Mongodb, используя gridfs.Мой пример файла выглядит как
<p>Hello world, i am coming from database </p>
<gh-gist src="https://gist.github.com/user/0f7c1a14489ecf9e98b70ea4e276fb.js"></gh-gist>
<p> Page code continue after</p>
Теперь проблема в том, что страница отображается правильно, но код для GIST не обрабатывается и не отображается.
Но тот же код работает нормально иотображать код GIST, как и ожидалось, вместе с HTML, если не хранится в базе данных
Нет ошибки, отображаемой как таковой, только что код не появляется.
Я попробовал предложенное ниже предложение - Angular 2: очистка HTML удалила часть содержимого в стиле css но это не помогло.
HTML-код моей страницы похож на -
<div [innerHTML]="pageContent | noSanitize"></div>
Вот код для трубы, определенный как предложено -
import { Pipe, PipeTransform } from '@angular/core';
import { DomSanitizer, SafeHtml } from '@angular/platform-browser';
@Pipe({ name: 'noSanitize' })
export class NoSanitizePipe implements PipeTransform {
constructor(private domSanitizer: DomSanitizer) {
}
transform(html: string): SafeHtml {
return this.domSanitizer.bypassSecurityTrustHtml(html);
}
}
Я использую https://www.npmjs.com/package/@sgbj/angular-gist для встраивания GIST в HTML.
Решение - я получил решение, используя ng-dynamic .
Последний выпуск - но теперь я сталкиваюсь с проблемой при выполнении производственной сборки с использованием веб-пакета.В качестве ng-dynamic используется JITCompiler, а в webpack - компилятор --aot.Так что ng-dynamic не работает с --aot build.
Ошибка, которую я получаю сейчас -
An unexpected error occured :Error: Uncaught (in promise): TypeError: t is not a constructor
TypeError: t is not a constructor
at http://localhost:4200/main.c07d94d02c96a651ccd3.js:1:165321
at No (http://localhost:4200/main.c07d94d02c96a651ccd3.js:1:165568)
Любая помощь приветствуется.