knockout.js - 对大量数据对象的可观察对象

时间:2012-02-20 19:41:29

标签: knockout.js

我正在开发一个Web应用程序,并决定使用knockout.js来管理客户端UI和绑定。到目前为止真的很喜欢它,但是有一些关于ko.observables的问题。我的初始数据有效载荷如下:

{
    clients: [{id:1, fname:'foo', lname:'bar', email:'...', ...}, ...]},
    appointments: [{...appointment object...}, ...]
}

上面数据中的任何对象都可以容纳大量数据,很容易包含上面几百个对象,每个对象包含10-15个属性。目前,在我的应用程序init上,我正在做类似的事情:

$.each(clients, function (idx, client) {
    $.each(client, function (property, value) {
        client[property] = ko.observable(value);
    });

    client[idx] = client;
});

self.clients = ko.observableArray(clients);

这似乎有用,但似乎也有很多开销,而且我注意到当我的应用程序处于初始化步骤时没有大量延迟(不需要ajax,数据在渲染时会加载到页面中)。有没有像这样处理大型数据集的模式?因为可以编辑上述任何数据对象,所以我认为它们应该是可观察的。感谢您的任何指示!

1 个答案:

答案 0 :(得分:1)

当我偶然发现你的帖子时,我正在看同样的问题。然后我找到了 post 以及博文和jsfiddle示例。这似乎是你(和我)正在寻找的。