无法读取未定义无限滚动的 属性 'result'

Cannot read property 'result' of undefined infinite scroll

我的无限卷轴出现了一些奇怪的行为。我不断收到 TypeError: Cannot read 属性 'result' of undefined.

我的数据已检索,但不断获取更多数据,导致我的 table 中出现空行 html,我不确定发生了什么。

在下面的代码中我试过了 result.data |数据然后 vm.items[i]

谢谢

代码如下:

    vm.items = [];
    vm.busy = false;
    vm.loadMore = function () {
        if (vm.busy) return;
        vm.busy = true;
        productDataService.getProductList()
            .then(function (result) {                   
                console.log(result.data);
                vm.items = result.data;
                for (var i = 0; i < vm.items.length; i++) {
                    vm.items.push(vm.items[i].result);                        
                    vm.busy = true;
                }
            });
vm.items = [];
    vm.busy = false;
    vm.loadMore = function () {
        if (vm.busy) return;
        vm.busy = true;
        productDataService.getProductList()
            .then(function (result) {                   
                console.log(result.data);
                for (var i = 0; i < result.data.length; i++) {
                    vm.items.push(result.data[i].result);                        

                }
                vm.busy = false;
            });

我会怀疑这个块:

for (var i = 0; i < vm.items.length; i++) {
       vm.items.push(vm.items[i].result);                        
       vm.busy = true;
}

每次 for 循环迭代时,您都会向 vm.items 添加一个元素,使 vm.items.length = vm.items.length + 1,您将其用作 for 循环中的条件:i < vm.items.length。这个循环正在追逐自己的尾巴,即你有一个无限循环。

删除行 vm.items = result.data; 并迭代 result.data