2013-10-13 69 views
4

什么是基于DOM的模板?我开始学习AngularJS,并且我多次看到这个术语。 基于DOM的模板有什么优势?什么是基于DOM的模板?

寻找类似基于字符串的模板之间的差异,如何在基于DOM的要好,等

回答

0

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

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

2

基于DOM的模板语言依赖于DOM树来识别模板指令。基于DOM的模板将遍历DOM树以发现模板化指令,然后操作DOM树以生成最终的DOM树,然后在浏览器中对其进行渲染。除非在服务器上使用虚拟DOM,否则基于DOM的模板语言只能在浏览器中使用。基于DOM的模板语言本质上要慢得多,因为模板不能预编译,因为输入是要操纵的DOM树,输出是操作的DOM树。相比之下,基于文本和基于HTML的模板可以预编译为JavaScript函数,这是编译器分析模板以查找所有感兴趣的动态部分的结果。基于DOM的模板语言的

例子:

AngularJS,淘汰赛,焊接

帕特里克·斯蒂尔,同上的关于JavaScript的模板景观http://psteeleidem.com/the-javascript-templating-landscape/将帮助你了解关于不同的JavaScript模板更详细信息链接。

+1

虽然这个链接可能回答这个问题,但最好在这里包含答案的基本部分并提供参考链接。如果链接页面更改,则仅链接答案可能会失效。 – Wouter