目前在我正在处理的 Backbone 项目中,我已经按模块组合了所有模板。就像是:
users.html
#profileTemplate
#changePasswordTemplate
- ...
something.html
#someTemplate
#anotherTemplate
然后我根据需要按模块加载模板$.get
。我打算使用 Backbone Marionette 来加载这些模板,建议的方法是:link
Backbone.Marionette.TemplateCache.loadTemplate = function(templateId, callback){
var that = this;
var url = templateId + ".html";
$.get(url, function(templateHtml){
var template = $(templateHtml).find(templateId);
callback(template);
});
}
这意味着我必须将我的模板分解成更多的文件,这意味着更多的网络请求。我想知道这样做的推荐方法是什么?将所有内容组合成一个大文件或许多小文件或模块之间的某个地方?如果按模块,那么我将需要添加一个参数以loadTemplate(moduleUrl, templateSelector, callback)
尚未尝试过,明天会这样做,但即使它不会破坏任何东西,是否也推荐这样做?我正在覆盖第 3 方框架方法,更糟糕的是,更改其方法签名?那么推荐的解决方案是什么?
也许因为我使用的是 RequireJS,所以我的模板可以通过 Require 加载?