滚动列表中的大量数据

时间:2013-02-08 09:10:24

标签: knockout.js

我遇到了问题。我创建了滚动列表,其中包含几个从REST获取的对象:

<script>
    ...
    that.array = ko.observableArray([]);
    that.getData = function(){
      $.getJson("linkToResource",function(json){
        that.array(ko.mapping.toJS(json));
      }
    }
    ...
</script>

并将其作为模板显示在foreach中:

<ul data-bind="foreach: array">
  <li data-bind="template: {name: 'my-element-template'}"></li>
</ul>

我将mCustomScrollbar应用于此ul列表。 一切顺利,直到我的REST服务返回大量数据(2000-20000行)。

这个数据包只会杀死浏览器。它必须显示2000-20000 li元素。

我做了一些研究,发现像koGrid这样的数据量非常好。此插件仅在Viewport中显示少量元素,并滚动只更改应显示的数据。

不幸的是,koGrid不适合我的问题。

我需要带有自定义滚动的可滚动列表,并且可以在模板上定义为一行。

你知道任何可以帮我解决这个问题的淘汰插件吗?

2 个答案:

答案 0 :(得分:0)

我必须诚实,我认为你问的是错误的问题!为什么koGrid不适合您的问题?我没有使用它,但查看documentation,您可以拥有自定义行模板。你究竟想做什么koGrid不做?

答案 1 :(得分:0)

我找到了像giga-scroll https://github.com/mpj/giga-scroll之类的东西 它看起来不错,但我必须将正常滚动更改为自定义滚动,就像在jScrollPane中一样。

还支持延迟加载数据。