我正在使用Handlebars模板和Marionette.CompositeView。模板被定義爲:木偶視圖的Handlebars模板在使用前編譯過一次
template : function (serializedData) {
var templFn = Handlebars.compile(myTemplateDef);
return this.templFn(serializedData);
}
與車把傳統的主幹,建議每次我們渲染視圖不編譯模板,而是存放編譯模板作爲視圖屬性,因此它僅被編譯一次從而節省資源:
templFn : Handlebars.compile(myTemplateDef),
render : function() {
var serializedData = this.model.toJSON();
...
this.$el.append(this.templFn(serializedData);
}
但在木偶案例模板的情況下()是window
,我不控制如何/時模板()被調用。
所以問題是:鑑於我們不想創建一個全球變種window.templFn
有沒有辦法將模板編譯與其在使用木偶的情況下分開?
謝謝,看起來很有希望。我會研究它。 – 2013-03-29 02:55:26