我以前从未听过。 “像HTMLBars这样的模板语言”是否与Ember.js相关?
答案 0 :(得分:2)
我会尝试解释它。
有一个名为handlebars
的模板引擎和语言。该语言是(X)HTML
的超集,因此可以使用大括号中的所有HTML和某些特定内容,这些内容将被handlebars
模板引擎替换。这完全适用于字符串替换。因此,您使用handlebars
编译器编译handlebars
模板并获取Javascript函数,该函数将使用Javascript对象并通过替换HTML
部分生成handlebars
字符串。
HTMLBars
是一个完整的HTML解析器。它基于handlebars
模板语言,但实际上能够理解您的HTML代码。据我所知,它并不完全支持HTML
/ SGML
,因此HTMLBars
语言是handlebars
语言的子集。
由于它对HTMLPart的了解HTMLBars
能够直接构建DOM而不是HTML字符串。这比将字符串注入浏览器渲染引擎更快,并允许更多功能。例如,因为HTMLBars
ember模板能够更新<img src={{myUrl}} />
等属性。之前无法做到,因为handlebars
不知道占位符是否在标记中。因此,在HTMLBars
之前,您需要执行`。
HTMLBars
也是当前名为Glimmer
的ember模板引擎的基础。