【问题标题】:knockout.js - observables on a large number of data objectsknockout.js - 大量数据对象上的 observables
【发布时间】: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


    【解决方案1】:

    当我偶然发现您的帖子时,我目前正在研究同样的问题。然后我找到了这个 post 以及博客文章和 jsfiddle 示例。这似乎是您(和我)正在寻找的。​​p>

    【讨论】:

    • 看起来像是 knockout.mapping.js 是我正在寻找的。应该自动将所有属性映射到 observables,并将所有列表映射到 observableArrays。
    猜你喜欢
    • 2020-04-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-27
    • 1970-01-01
    • 1970-01-01
    • 2012-04-24
    • 1970-01-01
    相关资源
    最近更新 更多