HTML实体解码和编译



我的js对象包含双引号,因此我将数据存储在形式中:

var data = "un <a ui-sref="app.concept({id:1})">test link</a>"

这意味着<a ui-sref="app.concept({id:1})">test link</a>

如何解码HTML实体然后编译UI-SREF?使用此https://github.com/incuna/angular-bind-html-compile不起作用。

它在视图中打印<a ui-sref="app.concept({id:1})">test link</a>

我认为将数据存储为实际的UNESCAPED HTML字符串可能会更好/更容易。这将需要更少的工作。

但是,如果您不能这样做,则可能需要将$ SCE服务注入控制器,然后在数据变量声明后使用data = $sce.trustAsHtml(data)

执行此操作后,在视图中使用<div ng-bind-html="data"></div>。它应该解决您的问题。

如果这是不完全工作的,则可以尝试使用称为UNESCAPE的函数在数据变量上删除数据变量。因此trustAsHtml(_.unescape(data))可以帮助您。

路由器UI添加

由于您使用的是路由器-UI,因此最好的选择可能是按照此答案所建议的,只需使用href="path/to/state1"

最新更新