angularjs 什么是基于DOM的模板?

13z8s7eq  于 2023-05-28  发布在  Angular
关注(0)|答案(2)|浏览(153)

什么是基于DOM的模板?我开始学习AngularJS,我多次看到这个术语。基于DOM的模板有哪些优点?
寻找一些东西,比如基于字符串的模板之间的差异,基于DOM的模板如何更好,等等。

jobtbby3

jobtbby31#

基于DOM的模板语言依赖于DOM树来识别模板指令。基于DOM的模板将遍历DOM树以发现模板指令,然后操作DOM树以生成最终的DOM树,然后在浏览器中呈现该DOM树。基于DOM的模板语言只能在浏览器中工作,除非在服务器上使用虚拟DOM。基于DOM的模板语言天生就慢得多,因为模板不能被预编译,因为输入是要被操作的DOM树,输出是被操作的DOM树。相比之下,基于文本和基于HTML的模板可以预编译成JavaScript函数,该函数是编译器分析模板以找到所有有趣的动态部分的结果。
基于DOM的模板语言示例:
AngularJS、Knockout、Weld
从帕特里克Steele-Idem关于JavaScript模板的链接Landscape http://psteeleidem.com/the-javascript-templating-landscape/将帮助您了解有关不同JavaScript模板的更多细节。

xfb7svmp

xfb7svmp2#

目前,在AngularJs中,你可以在标签中指定模板,然后标记它们,以便在需要的地方使用,或者你可以在外部html文件中创建模板,然后使用ng-include在需要的地方包含该模板。
在最近的一次演示中,angular团队表示,angular的未来将包括shadow DOM,以及直接在页面中指定自定义HTML标记和逻辑的能力,而无需为浏览器构建一个指令来理解它是什么。

相关问题