我需要构建一个对话框以用于项目列表中的任何项目。除了明显依赖于项目的字段值之外,无论项目如何,对话框都几乎相同。
我正在构建的指令是从文件中读取模板,使用 $compile 对其进行编译,然后将其绑定(链接)到项目的范围。绑定的结果是一个 DOM 树。为了使对话框可见,我需要将此树附加到现有 DOM 中的某个元素。我的对话框的性质使得将其直接附加到 body 标记是有意义的。该对话框将与列表中的不同项目组合使用多次
所以这是我的问题:这个过程(编译、绑定、追加)有多少可以提前完成?我当然可以运行编译一次。我还可以将编译结果绑定到 $rootscope 并将其附加(隐藏)到 body 标记。这样我以后可以打开可见性并显示对话框。
但是,如果它已经绑定并附加到 DOM,是否可以将其重新绑定到其他范围,如果是,那么正确的方法是什么?另一个问题是它是否值得?可能只是在每次需要时重新插入它?