2017-11-05 37 views
2

각도 4 어플리케이션에서 무한 스크롤을 사용하여 벽돌 그리드를 통합하려고합니다.벽돌 + 무한 스크롤 + 각도 통합 방법

내가 벽돌에 대해 다음 라이브러리 masonry.desandro.com 무한 스크롤 사용하고 있습니다 : 나는 스크롤 문제가 있어요 ngx-infinite-scroll

는 항목이 중복되고있다. 내가 제대로 초기화하지 않을지 모르겠다.

*plunker

HTML : : 어떤 도움도 내 코드는 다음과 같습니다 각 4

작동 다른 라이브러리를 사용하는 의미 감사

<div class="search-results" infinite-scroll [infiniteScrollDistance]="2" 
     [infiniteScrollThrottle]="10" (scrolled)="onScrollDown()" 
     [scrollWindow]="true"> 
    <div class="grid"> 
     <div class="grid-item grid-item--height{{i}}" *ngFor="let i of array"> 
     {{i}} 
    </div> 
</div> 

내 구성 요소 :

export class HomeComponent implements OnInit { 

    ngOnInit() {  
    jQuery(document).ready(function() { 
    jQuery('.grid').masonry({ 
    // options 
    itemSelector: '.grid-item', 
    columnWidth: 200 
    }); 
    }); 
} 
array = []; 
sum = 20; 

modalIsOpen = ''; 

constructor() { 
    for (let i = 0; i < this.sum; ++i) { 
    this.array.push(i); 
    } 
} 

onScrollDown() { 

console.log('scrolled!!'); 
// add another 20 items 
const start = this.sum; 
this.sum += 20; 
    for (let i = start; i < this.sum; ++i) { 
    this.array.push(i); 
    } 
    } 
} 

답변

0

나는 그러나이 패키지 https://www.npmjs.com/package/angular2-masonry

을 사용할 수 있습니다, jQuery를 및 각도 사용을 중지 할 운영자 추천 할

이 하나가 매우 쉽게 쓸 수 있으며 내가주지 도움이 필요하면 알려주세요, jQuery를 필요로하지 않는다 너에게 몇 가지 조언.

무한 스크롤의 경우 Angular에서는 스크롤 이벤트 리스너 &을 사용하여 스크롤 당 4 개씩 (내 창에는 최대 4 개의 항목이 포함될 수 있음) 스크롤 할 때마다 4 개 이상의 항목이 표시됩니다.