2013-07-20 58 views
0

我使用需要加載HTML模板,我想通過同步的方式來加載這些,例如:RequireJS:同步requrire文本內容

var template_a = require(["text!template/a.html"], function(template) { return template; }); 
var template_b = require(["text!template/b.html"], function(template) { return template; }); 
var template_c = require(["text!template/c.html"], function(template) { return template; }); 

$("body").append(template_a); 
$("body").append(template_b); 
$("body").append(template_c); 

我怎樣才能做到這一點?謝謝!

+0

你想通過這個來實現什麼?潛在的好處是什麼? – kryger

回答

3

RequireJS在本質上是異步的。克服它的唯一方法是做這樣的事情

templates = []; 

function append_template(template, templates) 
{ 
    templates.push(template); 

    if(templates.length == 3) 
    { 
     for(var i in templates) 
      $("body").append(templates[i]); 
    } 
} 

require(["text!template/a.html"], function(template) { 
    append_template(template, templates); 
}); 
require(["text!template/b.html"], function(template) { 
    append_template(template, templates); 
}); 
require(["text!template/c.html"], function(template) { 
    append_template(template, templates); 
}); 
+0

但是,這與在單個「模板appender」模塊中要求所有模板並沒有什麼不同(但更復雜)。 – kryger

+0

@ kryger絕對:)但'爲了什麼?是不同的問題。 – twil