Javascript 无法读取属性';结果';未定义的无限卷轴
让我的无限卷轴处理一些奇怪的行为。我一直收到一个类型错误:无法读取未定义的属性“result” 我的数据被检索,但不断地获取更多的数据,导致我的表中出现空白的html行,我不确定发生了什么 在下面的代码中,我尝试了result.data | data,然后是vm.items[i] 谢谢 代码如下:Javascript 无法读取属性';结果';未定义的无限卷轴,javascript,angularjs,scroll,infinite-scroll,Javascript,Angularjs,Scroll,Infinite Scroll,让我的无限卷轴处理一些奇怪的行为。我一直收到一个类型错误:无法读取未定义的属性“result” 我的数据被检索,但不断地获取更多的数据,导致我的表中出现空白的html行,我不确定发生了什么 在下面的代码中,我尝试了result.data | data,然后是vm.items[i] 谢谢 代码如下: vm.items = []; vm.busy = false; vm.loadMore = function () { if (vm.busy) return;
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=函数(){
if(vm.busy)返回;
vm.busy=true;
productDataService.getProductList()
.then(函数(结果){
console.log(result.data);
vm.items=result.data;
对于(var i=0;i
vm.items=[];
vm.busy=false;
vm.loadMore=函数(){
if(vm.busy)返回;
vm.busy=true;
productDataService.getProductList()
.then(函数(结果){
console.log(result.data);
对于(var i=0;i
我怀疑此块:
for (var i = 0; i < vm.items.length; i++) {
vm.items.push(vm.items[i].result);
vm.busy = true;
}
for(var i=0;i
每次该for循环迭代时,您都会将一个元素添加到
vm.items
,使vm.items.length
=vm.items.length+1
,您正在使用该元素作为for循环中的条件:i
。此循环正在追逐它自己的尾巴,即,您有一个无限循环。e line vm.items=result.data;然后迭代result.data,这复制了结果。原来的结果是77,这个逻辑现在是154,htmlI中仍然有额外的表行。我编辑了答案,逻辑是新的项应该附加到vm.items数组中。我不知道服务“getProductList”是如何实现的知道对结果进行分页。
for (var i = 0; i < vm.items.length; i++) {
vm.items.push(vm.items[i].result);
vm.busy = true;
}