У меня есть HTML
страницу, которая его часть генерируется с использованием HTML
инъекции из контроллера typescript
angularjs
с использованием $sce
и ng-bind-html
.
Моя проблема в том, что стиль всплывающей подсказки bootstrap
не применяется, и я получаю только встроенную желтую подсказку.
Моя функция контроллера, который генерирует HTML (не уверен, что если он релевантен, но обратите внимание, комментарий следующий раздел console.log
):Бутстрап подсказка из динамического HTML не работает
public renderHtml =() => {
this.test = '<span style="text-decoration:underline" data-toggle="tooltip" data-placement="top" title="Tooltip on top">my team</span>';
console.log(this.test); // this line is logged 6 times with the same value on each page refresh
return this.$sce.trustAsHtml(this.test);
}
HTML, (я добавил тот же фрагмент кода HTML непосредственно на страницу и он отлично работает):
<!--bootstrap tooltip doesn't show-->
<div class="row margin-25" ng-bind-html="cdc.renderHtml()"></div>
<div>
<!--bootstrap tooltip works-->
<span style="text-decoration:underline" data-toggle="tooltip" data-placement="top" title="Tooltip on top">my team</span>
</div>
Вот результат (не работает слева):
Глядя на ваше первое решение, он работал только для меня после добавления 'setTimeout' в функцию' document ready', поскольку в противном случае это произошло после вызова функции renderHTML. Мне нужно немного почитать о том, как настроить директиву с помощью 'TypeScript', чтобы реализовать второй подход. Спасибо! – Yoav
Не нужно использовать директиву 'TypeScript' для реализации. –