是否可以将范围保持在angular.js,并修改模板?

Is it possible to keep the scope in angular.js, and to modify the template?

我完全坚持我的指令:这是代码的一部分:

 var $template = angular.element("<div></div>");
 $template.append($compile(template)(scope));
 $template.find('block').html($block.html());
 $element.replaceWith($template.html());
 $compile($element.contents())(scope);

我尝试检索模板的内容,将其附加到布局,然后编译。

通过这样做,我失去了所有关联的范围。 (即:点击 a 无效)

是否可以保留已编译模板的关联范围?如果没有,我有什么选择?

非常感谢,

雷米

编辑 请参阅评论以获取 plunker 中的示例, 再次感谢

编辑

给定的指令应该能够执行以下操作: view.html :

<layout extends='/layout.html'> <block name="content">TOTO</block> <block name="content2">TOTO2</block> </layout>

layout.html :

<navbar></navbar>
   <block name="content"></block>
   <block name="content2"></block>
 <footer></footer>

输出:

<navbar></navbar> <block name="content">TOTO</block> <block name="content2">TOTO2</block> <footer></footer>

这有意义吗?

编辑

是否可以这样做: $element.replaceWith($模板); 知道模板已经在 DOM?

谢谢大家

我终于成功了!!!

事实上,如果您想要附加所有事件和范围,则必须等待编译事件,这是通过 $timeout(fn,0); 完成的; 恶心,我知道,但工作正常!!!