是否有更有效的方法来填充下拉菜单而不是循环?

时间:2013-03-23 13:49:47

标签: javascript jquery performance knockout.js

我一直在提高页面性能,但是当涉及到加载各种下拉菜单时,我会失去太多时间。有没有比这更快的方式来填充控件?

my.service.data.controls是来自ajax调用的json数据集合的内存中集合,用于键/值对(Id,Name),Days,Years,Salutations等中的各种控件

$.each(my.service.data.controls.Days, function (i, p) {
     days.push(new my.models.dropdown(selectedItem)
     .Id(p.Id)
     .Name(p.Id));
});

// for creating Position Models
my.models.dropdown = function (selectedItem) {
    var self = this;
    self.Id = ko.observable();
    self.Name = ko.observable();
    // non-persitable properties
    self.isSelected = ko.computed(function () {
        return selectedItem() === self;
    });
};

1 个答案:

答案 0 :(得分:1)

我建议您在尝试优化之前分析您的js(如果您还没有)。性能上的痛苦可能源于代码中的其他地方。

要开始使用,请弹出Chrome检查器,选择“配置文件”标签,然后点击“开始”。然后加载您的页面,单击停止,看看有什么了!