将ng-bind-html与自定义指令一起使用

时间:2016-01-29 16:18:25

标签: angularjs

我需要动态地将一个自定义指令中的一个加载到视图中,并且遇到了ng-bind-html指令

我可以传入我的指令的字符串表示,因为它将用于标记吗?

例如,在控制器中我说

vm.dir= '<my-directive data="someData" click-handler="vm.aClickHandler"></my-directive>';

我希望能够让它看起来像这样

这对我不起作用,我没有在DOM中看到指令标记,只是带有ng-bind-html属性的div。

如果我使用像<b>Hi!</b>这样的简单HTML字符串,那么在我的视图中这会变得很好。

我希望能够根据控制器中的逻辑动态地将指令标记添加到我的视图标记中,ng-bind-html会帮助我吗?

1 个答案:

答案 0 :(得分:0)

ng-bind-template可以做你想做的事。

  

ngBindTemplate指令指定元素文本内容应替换为ngBindTemplate属性中模板的插值。与ngBind不同,ngBindTemplate可以包含多个{{}}表达式。由于某些HTML元素(例如TITLE和OPTION)不能包含SPAN元素,因此需要此指令。

您也可以使用ng-include指向部分文件或script tag的内容。

Here是您实现此目标的另一种方式。