我正在使用https://github.com/ivantage/angular-ivh-treeview/blob/master/docs/templates-and-skins.md#tree-layouts 在标签内部使用HTML或使用自定义节点字段绑定到ng-bind-html时出现问题。所以我尝试制作一个自定义指令来替换标签字段,但我似乎无法让它工作。
有没有办法让标签使用ng-sanitize作为html绑定,以便我可以将html标记放在标签中?
答案 0 :(得分:1)
如果您的标签中已嵌入HTML,最简单的方法是使用ivhTreeviewBfs
服务来遍历您的树,并使用$sce.trustAsHtml
明确信任每个节点的标签。然后,您可以根据需要在模板中使用ng-bind-html="trvw.lable(node)"
。
这是一个演示来说明:http://jsbin.com/bogoyu/2/edit?js,output
请注意,如果您不想要,还可以根据节点属性(例如ng-class =“{fancy:node.foo ='...'}”等)为模板添加条件将html放在标签上。
答案 1 :(得分:1)
除了Justin的好答案之外,您还可以使用ngSanitize
角度模块来消毒' HTML
只需添加angular-sanitize并将ngSanitize
作为应用模块的依赖项。例如:
var app = angular.module("myApp", ['ngSanitize']);
使用ng-bind-html
绑定的范围变量会自动清理。无需遍历树或使用$sce
服务