ionic-framework - 在 10 个项目后加载 msg 的无限滚动
问题描述
我正在显示项目列表。我想要,当我们滚动时,在显示 10 个项目之后。它显示“正在加载更多...”
(ionInfinite)="doInfinite($event)"
没有触发。
.html 文件
<ion-content padding>
<ion-list>
<ion-item *ngFor="let i of items">{{i}}</ion-item>
</ion-list>
<ion-infinite-scroll (ionInfinite)="doInfinite($event)">
<ion-infinite-scroll-content loadingSpinner="bubbles" loadingText="Loading more data...">
</ion-infinite-scroll-content>
</ion-infinite-scroll>
</ion-content>
.ts 文件
import { IonInfiniteScroll, IonVirtualScroll } from '@ionic/angular';
export class FoodMenuPage implements OnInit {
@ViewChild(IonInfiniteScroll) infiniteScroll: IonInfiniteScroll;
items = [];
constructor() {
for (let i = 0; i < 30; i++) {
this.items.push( this.items.length );
}
}
doInfinite(infiniteScroll) {
console.log('Begin async operation');
setTimeout(() => {
for (let i = 0; i < 30; i++) {
this.items.push( this.items.length );
}
console.log('Async operation has ended');
infiniteScroll.complete();
}, 500);
}
解决方案
HTML
<ion-infinite-scroll (ionInfinite)="doInfinite($event)">
<ion-infinite-scroll-content loadingSpinner="bubbles" loadingText="Loading more data...">
</ion-infinite-scroll-content>
<div *ngIf="pagingEnabled" class="nomore_data"> No more data is available.</div>
TS
if (this.image1 != 0) {
for (let i in this.image1) {
this.images = this.images.concat(this.image1[i]);
}
} else {
this.pagingEnabled = true;
} \\image1 and image have same json value
if (Infinitescroll) { \\every scroll infinite has been fire
Infinitescroll.target.complete();\\every scroll tarhas been completed
}
不需要viewchild或任何东西
推荐阅读
- python - Python tkinter 将组合框绑定在一起(CB 2 依赖于 CB 1)
- kubernetes - Kubernetes kubectl 命令在 configMap 或 Secrets 中查找 Key
- sql - 比较每隔一行的时间差
- php - wordpress 删除购物车上的礼品产品总变化
- javascript - 为什么你不能在构建的电子应用程序中读取 package.json?
- matlab - 是否可以使用 Matlab Coder 获得内置 Matlab 滤波器设计功能的 C 版本?
- python - 在从 Dockerhub 拉取图像后,我正在标记图像
- python - 在这种情况下,我们可以形成一个 Python 列表理解吗?
- python - 如何在 python 中对海龟进行碰撞检测?
- python - 如何使用 get_context_data 在 Django 的基于类的视图中检查用户身份验证