我正在使用Ionic2。
您的系统信息:
Cordova CLI: 6.4.0
Ionic Framework Version: 2.3.0
Ionic CLI Version: 2.1.18
Ionic App Lib Version: 2.1.9
Ionic App Scripts Version: 1.1.4
ios-deploy version: Not installed
ios-sim version: Not installed
OS: macOS Sierra
Node Version: v6.9.4
Xcode version: Xcode 8.3 Build version 8E162
我有一个无限滚动,可以完美地工作,一次加载 15 个项目。当我向下滚动时,它会加载另外 15 个,依此类推:
...
</ion-list>
<ion-infinite-scroll id="infinite-scroll-search" (ionInfinite)="doInfinite($event)">
<ion-infinite-scroll-content id="infinite-scroll-content-search"></ion-infinite-scroll-content>
</ion-infinite-scroll>
但是,我随后添加选项卡,包括我的原始页面:
<ion-tabs>
<ion-tab [root]="tab1Root" tabTitle="Page1" tabIcon="person"></ion-tab>
<ion-tab [root]="tab2Root" tabTitle=Page2" tabIcon="heart"></ion-tab>
<ion-tab [root]="tab3Root" tabTitle=Page3" tabIcon="briefcase"></ion-tab>
</ion-tabs>
选项卡工作正常,显示在页面底部。但是,当我向下滚动时,不会像添加选项卡之前那样调用doInfinite($event)
函数。因此,它加载的行数不会超过 15 行。
看起来好像选项卡影响了页面滚动事件。滚动到底部不会触发ionInfinite
事件并调用doIninite($event)
。
第一次加载页面时无限滚动有效,但是如果我单击选项卡图标来加载页面,则ionInfinite
事件不起作用。因此,这可能与选项卡如何尝试缓存数据或其他内容有关。
还有其他人遇到过这个问题吗?有人对我如何调试它有任何想法吗?
任何帮助表示赞赏。
我通过在ionViewDidLoad
而不是ionViewWillEnter
中加载项目数组来解决此问题。