Angular Ui Boostrap Popover with html inline如何scape或编码innerhtml

时间:2016-10-30 14:56:45

标签: angularjs angular-ui-bootstrap

我从一个非常古老的ui-boostrap版本迁移到新版本。 在以前的版本我们只有popover =“myhtml” 现在需要popover-html和sanatize html。 问题是当我们有html内联时,当我们在范围变量上的html很简单时 UIB-酥料饼-HTML = “getPopoverContent(searchResultHtml)”

但是那些使用html内联的,当我尝试使用相同的语法时失败因为uib-popover-html =“getPopoverContent('theHtml')” theHtml通常有引号打破所有

失败的功能示例

uib-popover-html="getPopoverContent('<ul class="list-unstyled"><li><span class="text-muted">true_ip:</span> {{txn.thm_info.true_ip}}</li>"')

问题是双引号会关闭uib-popover-html,所以要全部破坏。 这里需要什么,我试图用内部引号来看,但是失败了。 我知道正确的方法是做模板,只是为了快速迁移,让我们有更多的时间来迁移所有东西。

由于

1 个答案:

答案 0 :(得分:1)

您知道正确的做法是使用模板,并且您的HTML中仍然有一个角度表达式,因此需要一个模板。

所以做正确的事情,并使用模板。不要试图找到令人讨厌的捷径。这将使代码更加清晰,作为奖励。

<script type="text/ng-template" id="myPopoverTemplate.html">
  <ul class="list-unstyled">
    <li><span class="text-muted">true_ip:</span> {{ txn.thm_info.true_ip }}</li>
  </ul>
</script>

<button uib-popover-template="'myPopoverTemplate.html'" ...>