背景故事
我有一个用例,我使用 angular 指令来构建一个相当强大的表单。编译后的指令将在多个地方使用,而不是多次渲染 html,我想要渲染的模板 html 并手动编译带有作用域的 html。
我通过手动编译加载指令来解决这个问题:
$('body').append(preRenderedElement);
$compile(preRenderedElement)(templateScope);
然后,此代码正确构造 mydirective 并根据需要将其呈现到页面。但是,理想情况下,我正在寻找一种无需将其附加到 DOM 即可获取 HTML 字符串或 DOM 节点的方法。然后我希望能够将 HTML 字符串存储在模板缓存中,或者将 DOM 节点转换为 HTML 字符串,然后将其存储在模板缓存中。
问题
如何从指令的(手动)编译中获取渲染的 DOM 节点或 HTML,以便可以将其存储在模板缓存中?理想情况下,无需将已编译的 HTML 附加到 DOM 即可完成。