我有以下代码。
<html ng-app="ui.bootstrap.demo">
<head>
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.2.16/angular.js"></script>
<script src="//angular-ui.github.io/bootstrap/ui-bootstrap-tpls-0.12.1.js"></script>
<script src="example.js"></script>
<link href="//netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css" rel="stylesheet">
</head>
<body>
<div ng-controller="PopoverDemoCtrl">
Hello, All
<img class="tip" data-placement="bottom" src="http://static.loanstreet.com.my/assets/common/glasses.png" popover="{{my_html}}" popover-trigger="mouseenter">
</div>
</body>
</html>
和js文件
angular.module('ui.bootstrap.demo', ['ui.bootstrap']);
angular.module('ui.bootstrap.demo').controller('PopoverDemoCtrl', function ($scope) {
$scope.my_html = '1. No Lock-In period <br>2. No withdrawals allowed (Non-Flexi) <br>3. For extra repayment to principal, minimum amount must be RM1000 and above <br>4. Only Non-ZEC option is available5. For completed or BUC property';
});
我想在底部显示弹出式模板,以及&#39;&lt; br&amp; gt&#39;在显示时显示它们。我希望字符串显示为HTML。 Attavhed是我的plunkr文件。
答案 0 :(得分:0)
您需要覆盖popover的默认html模板,并使用$ sce服务将html绑定到它。
对不安全的数据使用$ sce: -
angular.module('ui.bootstrap.demo').filter('unsafe', ['$sce', function ($sce) {
return function (val) {
return $sce.trustAsHtml(val);
};
}]);
覆盖默认弹出框的模板: -
angular.module("template/popover/popover.html", []).run(["$templateCache", function ($templateCache) {
$templateCache.put("template/popover/popover.html",
"<div class=\"popover {{placement}}\" ng-class=\"{ in: isOpen(), fade: animation() }\">\n" +
" <div class=\"arrow\"></div>\n" +
"\n" +
" <div class=\"popover-inner\">\n" +
" <h3 class=\"popover-title\" ng-bind-html=\"title | unsafe\" ng-show=\"title\"></h3>\n" +
" <div class=\"popover-content\"ng-bind-html=\"content | unsafe\"></div>\n" +
" </div>\n" +
"</div>\n" +
"");
}]);