4

什么是基于 DOM 的模板?我开始学习 AngularJS,我多次看到这个词。基于 DOM 的模板有哪些优势?

寻找诸如基于字符串的模板之间的差异,基于 DOM 的模板如何更好等等。

4

2 回答 2

2

基于 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 模板的更多细节。

于 2015-05-11T06:26:31.237 回答
0

目前在 AngularJs 中,您可以在标签中指定模板,然后将它们标记为在您需要的地方使用,或者您可以在外部 html 文件中创建模板,然后使用 ng-include 将该模板包含在您需要的任何地方。

在最近的一次演示中,Angular 团队表示,Angular 的未来将包括影子 DOM 以及直接在页面中指定自定义 HTML 标记和逻辑的能力,而无需为浏览器构建指令来理解它是什么。

于 2013-10-13T20:13:49.477 回答