“像HTMLBars这样的模板语言”是什么意思?什么是HTMLBars?一种语言?

时间:2016-02-19 20:10:46

标签: ember.js frontend

我以前从未听过。 “像HTMLBars这样的模板语言”是否与Ember.js相关?

1 个答案:

答案 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模板引擎的基础。