让我的无限卷轴处理一些奇怪的行为。我一直得到一个TypeError:无法读取undefined的属性'result'。
我的数据已被检索,但不断获取更多数据,导致我的表格中出现空行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;
}
});
答案 0 :(得分:0)
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;
});
答案 1 :(得分:0)
我怀疑这块:
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
即可。这个循环正在追逐自己的尾巴,即你有一个无限循环。
答案 2 :(得分:0)
删除行 vm.items = result.data; 并迭代 result.data 而不是