我已經構建了一個輕量級模板管理器,通過Ajax加載模板,它允許您將模板分離爲更易於管理的模塊。它還執行簡單的內存緩存以防止不必要的HTTP請求。 (我使用jQuery.ajax這裏爲簡便起見)
var TEMPLATES = {};
var Template = {
load: function(url, fn) {
if(!TEMPLATES.hasOwnProperty(url)) {
$.ajax({
url: url,
success: function(data) {
TEMPLATES[url] = data;
fn(data);
}
});
} else {
fn(TEMPLATES[url]);
}
},
render: function(tmpl, context) {
// Apply context to template string here
// using library such as underscore.js or mustache.js
}
};
你會再使用此代碼如下所示,通過回調處理,模板數據:
Template.load('/path/to/template/file', function(tmpl) {
var output = Template.render(tmpl, { 'myVar': 'some value' });
});
埃裏克Feminella寫了一個整潔的小除了* * jQote2 **插件,可以更輕鬆地加載外部模板。看他的帖子:http://www.ericfeminella.com/blog/2011/12/12/external-templates-in-jqote2/ – aefxx 2011-12-15 09:00:41