有没有比循环更有效的填充下拉列表的方法?

Is there a more efficient way to populate a dropdown than a loop?

本文关键字:填充 下拉列表 方法 有效 循环 有没有      更新时间:2023-09-26

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

my.service.data。控件是来自ajax调用的json数据集合的内存集合,用于键/值对(Id, Name),日期,年份,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;
    });
};

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

要开始,弹出Chrome检查器,选择"配置文件"选项卡,然后单击开始。然后加载页面,点击停止,看看发生了什么!