【发布时间】:2015-07-20 14:32:04
【问题描述】:
如果对提供的 JSFiddle 中的“点击”事件提供任何性能建议,我将不胜感激。
这个想法是在一次更改多个可观察对象时提高性能。
我找不到任何有关以批处理方式暂停和恢复更新通知的文档。
$("#all").click(function(){
var tasks = ko.dataFor($("#tasks")[0]).tasks(),
checked = this.checked;
//TODO: performance? Batch changes?
for(var i = 0, l = tasks.length; i<l; i++){
tasks[i].done( !!checked );
}
});
【问题讨论】:
-
不相关,但你为什么不在这里使用
click绑定处理程序? -
@Retsam - 在这个例子中恰好是这样 - 可以使用点击绑定 - 但是它对我有进一步的帮助吗?
-
@Stevanicus 很好,但在初始检查/取消检查时会有轻微的性能问题。在此处检查控制台以获取时间日志jsfiddle.net/g9jpxcm2/2。以后的请求将不会花费任何时间,因为订阅的维护(直到您手动进行才被处理)和最初的时间延迟,因为(订阅构建).cheers
-
您遇到了什么样的性能问题?
-
其实没有任何性能问题,只是想知道有没有办法优化它
标签: javascript jquery knockout.js observable batch-updates