如何延迟编译被抄送的内容

时间:2015-12-03 19:31:44

标签: angularjs

当使用“transclude:true”定义Angular指令时,指令元素的内容将从元素中删除,编译并保持“处于不稳定状态”,直到有人通过ng-Transclude或transclude将其注入指令中功能。有时不希望在注入之前立即编译所有被转换的内容,因为有时它们实际上根本不会被注入。

例如,我有一个Dialog指令,可以将内容转换为Kendo UI窗口小部件(此kendo小部件的具体用法无关紧要)。我只想在对话框打开时编译Dialog指令的内容。有没有办法延迟在Angular中编译被转换的内容?

<dialog kendo-window-api="controller.kendoWindowApiThatHasAnOpenFunction">
    <!-- I don't want the following complex directive to get compiled until the dialog is opened in code behind -->
    <another-complex-directive>some content here</another-complex-directive>
</dialog>

我还试图完全关闭翻译并手动编译内容HTML,但由于我已经关闭了翻译并且因为我的Dialog指令使用了模板,因此Angular删除了内容HTML并且我没有访问权限在Dialog指令链接函数中。关于如何解决这个问题的任何建议?

0 个答案:

没有答案