【发布时间】:2011-09-24 07:57:11
【问题描述】:
我仍在努力解决deferred 的问题,所以考虑到这一点,我有一个关于如何执行以下操作的问题。
我和我的团队有 3 个独立的 .load() 方法,每个方法都获取一个特定的模板并将其附加到同一个容器中。如您所想,每次加载所花费的时间不同,因此当内容加载时,它会以“阶梯式”方式加载(1,然后 2,然后 3)。我想使用deferred objects 并等待它们全部完成,然后同时附加它们以删除“楼梯”动作。
$('<div>').load(baseInfoTemplate, function () {
var baseData = {
// build some object
};
$.tmpl(this, baseData).appendTo($generalContainer);
});
所有三个调用都与上面的调用类似。
我怎样才能做到这一点?
【问题讨论】:
-
附加它们的顺序重要吗?
-
如果三个模板中的每一个都有自己的自己的容器,而不是将它们各自附加到同一个容器中,那么解决方案会更容易。
-
顺序确实很重要...我同意如果他们有自己的就好了:)
-
你能做到吗:
<div id="c"> <div id="part1"/> <div id="part2"/> ... </div>
标签: jquery jquery-deferred jquery-load promise