我正在尝试在 Angular 4 应用程序中集成具有无限滚动功能的砌体网格。
我将以下库 masonry.desandro.com用于砌体 并用于无限滚动:ngx-infinite-scroll
滚动时遇到问题,项目重叠。我不知道我是否没有正确初始化它。我感谢任何帮助,即使这意味着使用其他与 angular 4 一起工作的库。
我的代码如下所示:
html:
<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);
}
}
}