【发布时间】:2013-11-21 05:38:19
【问题描述】:
不确定标题是否自我解释,但基本上我有一个邮政编码数组
this.zip_codes = ko.observableArray();
在某些时候,我有一个 ajax 调用,它获取要添加到数组中的邮政编码列表
$('.spin').spin();
$.ajax(url, {
data: {
miles_min: 1,
miles_max: 20
}
}).done(function(data) {
ko.utils.arrayForEach(data, function(value) {
self.zip_codes.push(value);
});
$('.spin').spin(false);
});
这个 Knockout 数组绑定到 UI,它显示一个输入标签列表。
我添加了一个微调器以在 Ajax 调用开始时显示活动,并在 Ajax 调用结束时停止旋转。 问题是,如果我获得大量数据 (+100),淘汰赛需要很长时间才能更新 UI。 如何仅在 Knockout 刷新 UI 而不是在 Ajax 调用之后才停止微调器? 还是因为我将值推送到数组的方式?
【问题讨论】:
-
100 个邮政编码(如果返回的每组数据中只有这些的话)根本不需要很长时间,除非生成的 KO html 非常疯狂。你能发布一些更相关的代码吗?
-
你能在绑定的地方显示 html 标记吗?
-
确实,我更新数组的方式似乎是个问题。我仍在尝试找出标记是如何绘制的...
-
所以我发现了为什么添加 +100 邮政编码很慢。这似乎是我的 Knockout 版本的一个错误......
标签: javascript jquery ajax knockout.js