【发布时间】:2012-02-21 05:16:00
【问题描述】:
我正在开发一个 Web 应用程序,并决定使用 knockout.js 来管理客户端 UI 和绑定。到目前为止真的很喜欢它,但是有一些关于 ko.observables 的问题。我的初始数据负载如下所示:
{
clients: [{id:1, fname:'foo', lname:'bar', email:'...', ...}, ...]},
appointments: [{...appointment object...}, ...]
}
上面数据中的任何对象都可以保存大量数据,很容易有几百个类似上面的对象,每个对象包含 10 到 15 个属性。目前,在我的应用程序初始化中,我正在执行以下操作:
$.each(clients, function (idx, client) {
$.each(client, function (property, value) {
client[property] = ko.observable(value);
});
client[idx] = client;
});
self.clients = ko.observableArray(clients);
这似乎可行,但似乎也有很多开销,我注意到当我的应用程序处于初始化步骤时存在相当大的延迟(不需要 ajax,数据在呈现时加载到页面中)。是否有任何模式可以处理这样的大型数据集?因为上述任何数据对象都可以编辑,我认为它们应该是可观察的。感谢您的任何指点!
【问题讨论】:
标签: knockout.js