2016-07-21 13 views
1

私はangular material Virtual Repeatの仕組みを理解しようとしていますが、ドキュメンテーション(私にとって貧弱なnoobコーダー用)はあまり明確ではありません。 私はcodepenを設定し、不足しているコードを追加してRESTfullサーバー(この場合はreddit)に接続しましたが、正しく動作させることができません。それを修正し、私を少し説明することができる良い男をお探しですか?リモートデータを使った角度のある素材のリピート

おそらく、この方法では正しくないものがある:

DynamicItems.prototype.fetchPage_ = function(pageNumber) { 
     // Set the page to null so we know it is already being fetched. 
     this.loadedPages[pageNumber] = null; 

     // For demo purposes, we simulate loading more items with a timed 
     // promise. In real code, this function would likely contain an 
     // $http request. (OK HERE IS YOUR $HTTP REQUEST) 

     this.loadedPages[pageNumber] = []; 
     var pageOffset = pageNumber * this.PAGE_SIZE;    
     var url = "https://api.reddit.com/hot?after=" + this.after + "&jsonp=JSON_CALLBACK";   

     $http.jsonp(url).success(function(data) { 

      var items = data.data.children; 

      for (var i = pageOffset; i < pageOffset + this.PAGE_SIZE; i++) { 
       this.loadedPages[pageNumber].push(items[i].data); 
      } 
      this.after = "t3_" + items[this.loadedPages[pageNumber].length - 1].data.id; 

     }.bind(this)); 

    }; 

答えて

0

私は配列が間違っていた埋めるために使用される反復は:

for(var i = pageOffset; i < pageOffset + this.PAGE_SIZE; i++){ 
     this.loadedPages[pageNumber].push(items[i].data); 
    } 

正しいコード:

for (var i in items){ 
    this.loadedPages[pageNumber].push(items[i].data); 
} 
関連する問題