gpt4 book ai didi

javascript - AngularJS 和 Sanitize - 无需 ngBind 指令即可清理 HTML

转载 作者:行者123 更新时间:2023-12-03 04:56:35 27 4
gpt4 key购买 nike

假设我们需要清理 HTML 字符串,并且不能使用 ng-bind-html 指令,例如:

<span data-toggle="tooltip" title="Edit {{customer.name}}">Text</span>

如果 customer.name 中有特殊字符,则此行将打印为 html 版本,如 é,而我们需要 é 来代替。

我已经测试过:

  • $sce.trustAsHtml(customer.name)
  • $sce.parseAsHtml(customer.name)

但是没有任何东西可以“翻译”这个 html。如何做到这一点?

一个简短的解释是:如何清理指令内的 html(而不是在 ng-bind-html 的主体中)。

最佳答案

没必要这么复杂。

相反,请在元素上使用 setAttributetextContent(V.S.innerHTML),浏览器本身会为您进行清理。

// To set element attributes
$span.setAttribute("title", "Edit" + customer.name);

// To set element content
$span.textContent = customer.name;

更多详情,请参阅 the post here 。当然,这些是一次性绑定(bind),因此如果您需要更新,只需在其中添加 $watch 即可。

关于javascript - AngularJS 和 Sanitize - 无需 ngBind 指令即可清理 HTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42411547/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com