angular-ivh-treeview中的自定义标签,允许HTML

时间:2016-02-27 00:22:12

标签: javascript angularjs treeview

我正在使用https://github.com/ivantage/angular-ivh-treeview/blob/master/docs/templates-and-skins.md#tree-layouts 在标签内部使用HTML或使用自定义节点字段绑定到ng-bind-html时出现问题。所以我尝试制作一个自定义指令来替换标签字段,但我似乎无法让它工作。

有没有办法让标签使用ng-sanitize作为html绑定,以便我可以将html标记放在标签中?

2 个答案:

答案 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服务