Как уже упоминалось в в этом ответе в связанном вопросе, необходимо убедиться, что BrowserModule
импортировано, в противном случае DomSanitizer
не будет предоставлено .
Одна важная вещь заключается в том, что BrowserModule
должен импортироваться приложением корневой модуль , а не библиотечный модуль .
В большинстве случаев BrowserModule
будет правильно импортирован, как это делается по умолчанию в приложениях, созданных клиентом.Но для случаев, когда это не так, вы можете добавить следующие проверки в свой код:
import {Optional}from '@angular/core';
export class SqvLibComponent implements OnInit {
sequenceRegion: SafeHtml;
constructor(@Optional() private sanitizer: DomSanitizer ) {
if(!!this.sanitizer){
this.sequenceRegion = this.sanitizer.bypassSecurityTrustHtml(myStringtoSanitize);
}else{
// Depending on your component´s ability to correctly work
// without this dependency you can either warn or raise an error
console.warn("Ensure that the `BrowserModule` is imported in the application´s root module");
}
}
}