Возможно ли использовать html в заголовке всплывающего окна angular bootstrap?

#angularjs #twitter-bootstrap

#angularjs #twitter-bootstrap

Вопрос:

Я пытаюсь использовать HTML для оформления заголовка во всплывающем окне в angular bootrap, но он отображается как обычный текст

Поскольку тело всплывающего окна может содержать HTML-стиль, я подумал, что это сработает

 <!doctype html>
<html ng-app="popover.title.html">
  <head>
    <script src="//ajax.googleapis.com/ajax/libs/angularjs/1.5.8/angular.js"></script>
    <script src="//ajax.googleapis.com/ajax/libs/angularjs/1.5.8/angular-animate.js"></script>
    <script src="//ajax.googleapis.com/ajax/libs/angularjs/1.5.8/angular-sanitize.js"></script>
    <script src="//angular-ui.github.io/bootstrap/ui-bootstrap-tpls-2.2.0.js"></script>
    <script src="example.js"></script>
    <link href="//netdna.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">
  </head>
  <body>
<script type="text/javascript">
  angular.module('popover.title.html', ['ngAnimate', 'ngSanitize', 'ui.bootstrap']);
angular.module('popover.title.html').controller('htmlTitleCtrl', function ($scope, $sce) {
  $scope.htmlPopover = $sce.trustAsHtml('<b style="color: red">I can</b> have <div class="label label-success">HTML</div> content');
});
</script>
<div ng-controller="htmlTitleCtrl">
    <div style="padding-top: 15em; padding-left: 7em;">
      <button uib-popover-html="htmlPopover" popover-title="This is in <span style='color:red;'>red</span>" class="btn btn-default">HTML Popover</button>
    </div>
</div>
  </body>
</html>
  

Запуск plunkr:https://plnkr.co/edit/A1qwqnxOZwLCs05ePS38?p=preview

Возможно ли корректное отображение цветов в заголовке?

Ответ №1:

Заголовок используемого всплывающего окна, ng-bind который задает значение элемента title textContent (https://github.com/angular-ui/bootstrap/blob/master/template/popover/popover-html.html#L4, https://github.com/angular/angular.js/blob/master/src/ng/directive/ngBind.js#L63 ). Это означает, что HTML-код в заголовке не будет отображаться как HTML.

Однако вы можете использовать CSS для оформления заголовка всплывающего окна.