我的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>
答案 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"
。