Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
AngularJS:如何防止针对作用域编译嵌套HTML?_Angularjs - Fatal编程技术网

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:获取
    元素的内容,然后将其完全删除。这样有两个问题:

  • 与一些其他指令一起编译和链接
  • 如果我在
    中有多个
    元素,我会看到一些奇怪的行为。假设这与在
    中嵌套
    有关
  • 制作一个单独的
    弹出内容
    指令,该指令具有自己的编译阶段处理程序。在那里,我可以访问父
    popup
    指令的控制器,并在那里设置HTML,然后自行删除它

无论哪种方式,我都可以使用一些其他指令编译和执行

现在我有两个问题:

  • 如何防止执行
    中的HTML代码
  • 有更好的选择吗
  • 编辑
    最终的目标是使用取自
    弹出内容的HTML代码
    ,根据
    弹出内容
    指令的范围进行编译并附加到正文中。

    这就是transclusion的作用。@zeroflagL我想了很多次,但是我无法想象我怎么能在这个特殊的案例中使用它。Transclusion做的正是您尝试过的,不同的是,内容一开始并没有编译。因此,您可以在以后需要时编译它。这是一个有很好文档记录的特性。