jquery – ko.observableArray()对于1000个元素来说非常慢

前端之家收集整理的这篇文章主要介绍了jquery – ko.observableArray()对于1000个元素来说非常慢前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
请看我的jsfiddler的例子.

http://jsfiddle.net/cYYEt/

如果有另一种方式,我们应该绑定/创建我们的数组/ etc,这也是有效的.我已经通过使用列表或跨度来解决这个问题

谢谢!

JS

var mainviewmodel = function () {
    var self = this;

    this.Items = ko.observableArray();

    this.init = function () {
        var itemsArray = [];
        for(var i = 0; i < 1300; i++){
            itemsArray.push("My value is: " + i);
        }
        self.Items(itemsArray );
    };
};

$(function () {
    myApp = new mainviewmodel();
    ko.applyBindings(myApp);
    myApp.init();
});​

HTML

<!-- ko foreach: Items -->
    <div data-bind="text: $data"></div>
<!-- /ko -->​

解决方法

通过删除“模板”周围的文本节点,您可以在Chrome中获得体面的改进,如: http://jsfiddle.net/rniemeyer/RAfNv/.
<!-- ko foreach: Items --><div data-bind="text: $data"></div><!-- /ko -->

我想我们会在某种程度上改善核心.我们以前看过这样的事情:https://github.com/SteveSanderson/knockout/pull/709,但是在这一点上没有增加任何改变.

猜你在找的jQuery相关文章