5

我不确定如何使用 ui-scroll。我创建了一个 plunker,但我认为它不能正常工作,因为它不会在您滚动时从 DOM 中添加或删除项目。它显示所有!

我用于 ui-scroll 的 Plunker

 MyApp.controller('MyAppCtrl', function($scope) {
    $scope.myData = {
      get : function(index, count, success) {
    var result = [{"guid":"8544a1c7-d637-42ae-836a-8a71901b44ca"},{"guid":"aff1450c-b4dd-4aa0-9b12-ea097e72c6fa"},{"guid":"a1c68796-7a28-4721-904a-4944234e253e"},{"guid":"8b7d881f-20ea-4b6c-a8d6-772e1236e6bf"},{"guid":"398c50a7-885e-4455-b741-66ebc2a64060"},{"guid":"81557a60-60b5-425a-9839-cf1da7e21bde"},{"guid":"ed48be4e-5963-47a1-b872-2bf20bec5da3"},{"guid":"15d9fa95-f824-4bd9-8b75-afb8dec99f03"},{"guid":"eaf2e5aa-24a4-4995-82d5-e661efc64556"}];

      index = 1;
      count = 10;

        success(result);
      }
    };
});

我在 Github 上查看了几个示例,但大部分代码都在咖啡脚本中,它只是在循环中向 DOM 添加项目。我的问题是,如果您已经拥有正确的数据,如何添加项目。我还需要遍历数据集吗?

非常感谢您的帮助。

4

2 回答 2

2

UI-Scroll 让您自己决定根据索引和计数将什么结果传递回成功回调函数。像这样的东西应该工作 -

get: function(index, count, success){
        var result = [{"guid":"8544a1c7-d637-42ae-836a-8a71901b44ca"},{"guid":"aff1450c-b4dd-4aa0-9b12-ea097e72c6fa"},{"guid":"a1c68796-7a28-4721-904a-4944234e253e"},{"guid":"8b7d881f-20ea-4b6c-a8d6-772e1236e6bf"},{"guid":"398c50a7-885e-4455-b741-66ebc2a64060"},{"guid":"81557a60-60b5-425a-9839-cf1da7e21bde"},{"guid":"ed48be4e-5963-47a1-b872-2bf20bec5da3"},{"guid":"15d9fa95-f824-4bd9-8b75-afb8dec99f03"},{"guid":"eaf2e5aa-24a4-4995-82d5-e661efc64556"}];         
        success(result.slice(index-1, index-1 + count));
}

请注意,您传递的索引是基于非零的,因此当您使用数组时,您必须使用从零开始的索引(因此索引为 1)。此外,您可能需要考虑将结果保留在 get 函数之外,并让您的 get 函数返回要传递给 UI-Scroll 的模型的一部分。

于 2014-11-04T20:14:43.260 回答
0

zach 有道理,但是不仅要处理第四个索引,还要处理一个向后滚动索引,您必须在传递索引和计数成功之前执行此操作:

index = index <= 0 ? index + 1 : index -1;

IE,结果代码应该是这样的:

get: function(index, count, success) {
    var result = [
        {"guid":"8544a1c7-d637-42ae-836a-8a71901b44ca"},{"guid":"aff1450c-b4dd-4aa0-9b12-ea097e72c6fa"},
        {"guid":"a1c68796-7a28-4721-904a-4944234e253e"},{"guid":"8b7d881f-20ea-4b6c-a8d6-772e1236e6bf"},
        {"guid":"398c50a7-885e-4455-b741-66ebc2a64060"},{"guid":"81557a60-60b5-425a-9839-cf1da7e21bde"},
        {"guid":"ed48be4e-5963-47a1-b872-2bf20bec5da3"},{"guid":"15d9fa95-f824-4bd9-8b75-afb8dec99f03"},
        {"guid":"eaf2e5aa-24a4-4995-82d5-e661efc64556"}
    ];
    index = index <= 0 ? index + 1 : index -1;
    success(result.slice(index, index + count));
}
于 2015-07-20T18:33:29.283 回答