AngularJS:如何防止针对作用域编译嵌套HTML?
假设我想让AngularJS:如何防止针对作用域编译嵌套HTML?,angularjs,Angularjs,假设我想让popup指令能够在同一HTML视图中声明其内容: <a popup> <span>Click me</span> <popup-content> <div with-some-other-directives></div> </popup-content> </a> 点击我 我试过: 在popup指令中,在编译阶段修改HTML:获取…元素的
popup
指令能够在同一HTML视图中声明其内容:
<a popup>
<span>Click me</span>
<popup-content>
<div with-some-other-directives></div>
</popup-content>
</a>
点击我
我试过:
- 在popup指令中,在编译阶段修改HTML:获取
元素的内容,然后将其完全删除。这样有两个问题:…
与一些其他指令一起编译和链接
- 如果我在
中有多个
元素,我会看到一些奇怪的行为。假设这与在
中嵌套
有关 - 制作一个单独的
指令,该指令具有自己的编译阶段处理程序。在那里,我可以访问父弹出内容
指令的控制器,并在那里设置HTML,然后自行删除它popup
现在我有两个问题:
如何防止执行
中的HTML代码
有更好的选择吗
编辑
最终的目标是使用取自弹出内容的HTML代码
,根据弹出内容
指令的范围进行编译并附加到正文中。这就是transclusion的作用。@zeroflagL我想了很多次,但是我无法想象我怎么能在这个特殊的案例中使用它。Transclusion做的正是您尝试过的,不同的是,内容一开始并没有编译。因此,您可以在以后需要时编译它。这是一个有很好文档记录的特性。