我使用RequireJS文本插件一起裝載車把骨幹佈局管理動態模板,不要求所有模板。但在頁面加載時,所有模板都會下載而不是指定的模板。 在這種情況下如下圖所示的時候我只是想呈現頁腳所有(header
,modal
)被取出,而不是隻footer.tpl
文件。requirejs文本插件下載
templateLoader.js
define(function (require) {
var Handlebars = require('handlebars');
var getTemplateFile = function (templateName) {
var tmpl = null;
switch (templateName) {
case 'header':
tmpl = require('text!../html/templates/header.tpl');
break;
case 'footer':
tmpl = require('text!../html/templates/footer.tpl');
break;
case 'modal':
tmpl = require('text!../html/templates/modal.tpl');
break;
}
return tmpl;
};
var _compiled = function (tpl, context) {
var compiled = Handlebars.compile(tpl);
return context ? compiled(context) : compiled;
};
return {
getTemplate: function (templateName, model) {
return _compiled(getTemplateFile(templateName), model);
}
}
});
MyView.js - 佈局管理
App.Views.StoreFooter = Backbone.Layout.extend({
beforeRender: function() {
this.$el.html(Templates.getTemplate('footer'));
}
});
當我檢查在Chrome下載的資源,我看到modal.tpl
,header.tpl
不應根據在那裏以上代碼。
非常感謝您的信息。我該如何解決這個問題?我在這裏之後給出一個例子.. https://github.com/efeminella/requirejs-template-module-example/blob/master/src/app/templates/Templates.js – user1184100 2013-05-14 18:52:53