html实体解码和编译

时间:2017-05-02 16:38:32

标签: angular ionic-framework angularjs-directive

我的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>

1 个答案:

答案 0 :(得分:0)

我认为将这些数据存储为实际未转义的html字符串可能更好/更容易。这将需要更少的工作。

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

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

如果这不起作用,您可以尝试使用名为unescape的下划线函数来取消数据变量。所以trustAsHtml(_.unescape(data))可以帮到你。

添加路由器用户界面

由于您使用的是路由器-ui,您最好的选择可能是this answer中建议的那样,如果可能的话只使用href="path/to/state1"