0

我正在使用 require 加载 html 模板,我想通过同步方式加载这些模板,例如:

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);

我怎样才能做到这一点?谢谢!

4

1 回答 1

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);
});
于 2013-07-20T16:44:12.733 回答