什么是基于 DOM 的模板?我开始学习 AngularJS,我多次看到这个词。基于 DOM 的模板有哪些优势?
寻找诸如基于字符串的模板之间的差异,基于 DOM 的模板如何更好等等。
什么是基于 DOM 的模板?我开始学习 AngularJS,我多次看到这个词。基于 DOM 的模板有哪些优势?
寻找诸如基于字符串的模板之间的差异,基于 DOM 的模板如何更好等等。
基于 DOM 的模板语言依赖于 DOM 树来识别模板指令。基于 DOM 的模板将遍历 DOM 树以发现模板指令,然后操作 DOM 树以生成最终的 DOM 树,然后在浏览器中呈现该树。除非在服务器上使用虚拟 DOM,否则基于 DOM 的模板语言只能在浏览器中使用。基于 DOM 的模板语言本质上要慢得多,因为模板不能被预编译,因为输入是要操作的 DOM 树,输出是被操作的 DOM 树。相比之下,基于文本和基于 HTML 的模板可以预编译成 JavaScript 函数,这是编译器分析模板以找到所有有趣的动态部分的结果。
基于 DOM 的模板语言示例:
AngularJS,淘汰赛,焊接
Patrick Steele-Idem 关于 JavaScript 模板景观的链接http://psteeleidem.com/the-javascript-templating-landscape/将帮助您了解有关不同 JavaScript 模板的更多细节。
目前在 AngularJs 中,您可以在标签中指定模板,然后将它们标记为在您需要的地方使用,或者您可以在外部 html 文件中创建模板,然后使用 ng-include 将该模板包含在您需要的任何地方。
在最近的一次演示中,Angular 团队表示,Angular 的未来将包括影子 DOM 以及直接在页面中指定自定义 HTML 标记和逻辑的能力,而无需为浏览器构建指令来理解它是什么。