У меня есть служба уведомлений в моем угловом приложении, обычно вы называете это как
this.notificationsService.showError('My Title', 'My Message...');
Мне бы хотелось иметь возможность передавать ссылки приложений в сообщениях, и я знаю, чтонужно разрешить SafeHtml
ввод, как это:
this.notificationsService.showError(
'Error!',
this.domSanitizer.bypassSecurityTrustHtml(
`Something has gone wrong, but you can go to <a routerLink="'/home/accounts-list'">home page</a> to start over.`
)
);
В моем сервисе вот что я делаю с ним:
showError(title: string, message: string | SafeHtml): void {
const newNotification: INotification = {
title,
message,
htmlMessage: typeof message !== 'string'
};
this.notifications.push(newNotification);
}
И затем я показываю это так:
<div class="toast" *ngFor="let n of notificationsService.notificationsList">
<div class="toast-header">
<strong>{{n.title}}</strong>
</div>
<div class="toast-body" *ngIf="!n.htmlMessage">{{n.message}}</div>
<div class="toast-body" *ngIf="n.htmlMessage" [innerHTML]="n.message"></div>
</div>
Итак ... чтобы перейти к сути этого вопроса!Это только в некоторой степени работает в том, что HTML получает, но, очевидно, он не анализируется angular, чтобы сделать routerLink
функциональным.Фактический вывод HTML в браузер:
<a routerlink="'/home/accounts-list'">home page</a>
, однако, он не кликабелен, так как ссылка, фактически проанализированная с помощью angular, выведет этот HTML:
<a routerlink="'/home/accounts-list'" ng-reflect-router-link="/home/accounts-list" href="/home/accounts-list">home page</a>
Как я могу получить этиссылки на работу?
Я даже правильно говорю об этом?