2016-02-19 129 views

回答

2

我會盡力解釋它。

有模板引擎和語言handlebars。該語言是(X)HTML的超集,因此可以使用大括號中的所有HTML和一些特定的東西,這些東西將被handlebars模板引擎所取代。這完全適用於字符串替換。所以你編譯你的handlebars模板和handlebars編譯器,並獲得一個Javascript函數,它將採用一個Javascript對象並通過替換handlebars部分產生一個HTML字符串。

HTMLBars另一方面是一個完整的HTML解析器。它基於handlebars模板語言,但實際上能夠理解您的HTML代碼。據我所知,它不完全支持HTML/SGML因此HTMLBars語言是handlebars語言的子集。

由於其對HTMLPart的知識,HTMLBars能夠直接構建DOM而不是HTML String。這比向瀏覽器渲染引擎注入字符串更快,並允許更多功能。例如,因爲HTMLBars餘燼模板能夠更新像<img src={{myUrl}} />這樣的屬性。之前無法使用,因爲handlebars不知道佔位符是否在標籤中。所以直到HTMLBars你被要求做`。

HTMLBars也是當前燼模板引擎Glimmer的基礎。