2017-03-22 4 views
0

私の無限のスクロールは、何らかの奇妙な動作をしています。私はTypeErrorを取得し続ける:未定義のプロパティ '結果'を読み取ることができません。未定義の無限スクロールのプロパティ '結果'を読み取ることができません。

私のデータが取得されますが、テーブルの中に空白行のhtmlが結果として残っています。何が起きているのか分かりません。

以下のコードでは、私はresult.dataを試してみました。

​​

たびに、このために:私はこのブロックを疑うだろう

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
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; 
      }); 
+0

のように繰り返します。元の結果はこのロジックでは今は154であり、まだHTMLで余分なテーブル行を持っています –

+0

私は答えを編集しました。ロジックは新しい項目をvm.items配列に追加する必要があります。私はサービス "getProductList"がどのように結果を改ページするかを知っていません。 –

0

:データ、その後vm.items [i]は

おかげでここ

コードですループを繰り返す場合、 vm.itemsに要素を追加して、 vm.items.length = vm.items.length + 1、forループの条件として使用しています: i < vm.items.length。このループは独自のテールを追いかけています。つまり、無限ループがあります。

0

行を削除します。vm.items = result.data;を入力し、result.dataの代わりに

関連する問題