如何使用angular UI引导在弹出窗口上显示HTML

how to show html on pop over using angular ui bootstrap?

本文关键字:窗口 显示 HTML angular 何使用 UI      更新时间:2023-09-26

我做了一个弹出窗口的演示,当我点击按钮时,它会在右侧显示一个弹出窗口,但现在的问题是我如何在弹出窗口上显示一些html。

<html ng-app="plunker">
  <head>
     <script src="//ajax.googleapis.com/ajax/libs/angularjs/1.2.10/angular.js"></script>
    <script src="//angular-ui.github.io/bootstrap/ui-bootstrap-tpls-0.11.0.js"></script>
    <script src="example.js"></script>
    <link href="//netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css" rel="stylesheet">
  </head>
  <body>
    <button popover-placement="right" popover="On the Right!" class="btn btn-default">Right</button>
  </body>
<script>
angular.module('plunker', ['ui.bootstrap']);
</script>  
</html>

我有这个HTML,我需要把它添加到弹出窗口上,我知道在bootstrap。js中有办法在弹出窗口上添加HTML,我不想用它,我想用angular UI bootstrap。js

<div ng-controller="axcont">
<ul class="list-group">
  <li class="list-group-item" ng-click="add()">add row</li>
  <li class="list-group-item " ng-click="deleteRow($index)">Deleterow</li>
</ul>
</div>

我做了更多的尝试,但没有定义。也许我错了,我只是在做RND

<html ng-app="plunker">
  <head>
     <script src="//ajax.googleapis.com/ajax/libs/angularjs/1.2.10/angular.js"></script>
    <script src="//angular-ui.github.io/bootstrap/ui-bootstrap-tpls-0.11.0.js"></script>
    <script src="example.js"></script>
    <link href="//netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css" rel="stylesheet"/>
  </head>
  <body>
    <button pop-over title="Mode of transport" content-url="pop.html" class="btn btn-default">Right</button>
  </body>
<script>
var a=angular.module('plunker', ['ui.bootstrap']);
a.directive('popOver', function ($compile, $http, $templateCache) {
  return {
    restrict: 'A',
    scope: true,
    link: function popOverPostLink(scope, elem, attrs) {
      $http.get(attrs.contentUrl, {cache: $templateCache}).success(
        function (tmpl) {
          var options = {
            content: $compile(tmpl)(scope),
            placement: 'bottom',
            html: true,
            trigger:'click',
            title: attrs.title
          };
          elem.popover(options);
          scope.hidePopover = function () {
            elem.popover('hide');
          }
        }
      );
    }
  };
});
</script>  
</html>

使用AngularUI引导指令tooltip-html-unsafe

<span tooltip-html-unsafe="<div>Hi</div><div>Hi Hi Hi</div><div>Hi</div>">   
   <b>Hover on Me!</b>
</span>

演示和代码在这里Plnkr tooltip-html-unsafe

根据docs Angular-ui,你应该将弹出窗口定义为uib-popover而不仅仅是popover,如果你想将html绑定到弹出窗口,你可以使用uib-popover-html="<div> hello </div>"或模板绑定uib-popover-template="<<teamplateNameHere>>"

在您的选项中添加templateUrl.

例如:

templateUrl: 'your/url' + type + 'popup.html'

更多信息:https://github.com/angular-ui/bootstrap/tree/master/src/modal/docs

tooltip-html-unsafe带有图像和样式标签

<span tooltip-html-unsafe="<img src='https://upload.wikimedia.org/wikipedia/commons/0/00/Lubuntu-icon.png' style='width:24px;'>
      <div style='font-size:24px;'>Tooltip With Image</div>">   
           <b>Hover on Me!</b>
</span>

tooltip-html-unsafe你可以在里面放任何东西