我使用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