如何在使用$ compile时告诉Angular不要编译子节点

时间:2014-09-02 15:40:23

标签: angularjs angular-strap

情况是我的HTML结构有点类似于此:

<div class="dynamicDirectiveGoesHere">
    <p>{{SomeExpressionThatDiffers}}</p>
</div>

当p中的文本有省略号时,我需要显示一个bootstrap http://angular-ui.github.io/bootstrap/ popover。这就是为什么我要动态添加popover属性的原因。我可以使用$ compile来显示popover,但问题是{{}}中的文本消失了。我无法使用模板技巧,因为我不知道模板会是什么,因为popover会在具有不同模板的几个不同子标签上发生。这就是为什么需要只在$中编译div中的内容,而不是在子元素(p tag)中编译。这是否可以用角度?

1 个答案:

答案 0 :(得分:0)

您可以将属性terminal添加到指令中,并调整优先级以满足您的需求。

terminal: true阻止其他指令被实例化,并被例如ng-repeatng-if指令使用。

你可以在这里阅读更多https://docs.angularjs.org/api/ng/service/ $ compile(向下滚动到终端)。