我正在制作* ng与Ionic 2合作良好,但我想使用collection-repeat'因为它更适合广泛的数据。
我在construtor中加载数据:
import {Page, NavController, NavParams} from 'ionic-angular';
import {ListData} from './list-data';
@Page({
templateUrl: 'build/pages/list-browser/list-browser.html',
providers: [ListData]
})
export class ListBrowserPage {
static get parameters() {
return [[NavController], [NavParams], [ListData]]; // ];
}
constructor(nav, navParams, listData){
this.nav = nav;
this.items = listData.getItems();
// listData.getItems() returns a 10 000 rows JSON :
// [{
// name: 'Al Aporte', address: '201 Thunder Wagon Common, Cataract, RI, 02987-1016, US, (401) 747-0763',
// name: 'Jack Adit', address: '5198 Silent Parade, Round Bottom, MD, 21542-9798, US, (301) 060-7245',
// ...
// }]
}
}
以下是我使用* ngFor的视图,我注入的数据工作正常:
<ion-list>
<ion-item *ngFor="#item of items">
{{ item.name }}
</ion-item>
</ion-list>
但是使用collection-repeat加载的相同数据不起作用:
<ion-list>
<ion-item collection-repeat="item in items">
{{ item?.name }}
</ion-item>
</ion-list>
没有数据也没有错误。我知道这是很多数据,我可以在服务器端拆分我的JSON,但这种情况是出于基准测试的目的(Ionic 1&amp; collection-repeat远比Ionic 2&amp; ngFor好)。
Ionic 2 beta是否包含该指令?
谢谢,
德德
答案 0 :(得分:6)
在Ionic 2中,collection-repeat被重命名为Virtual Scroll。
所以Ionic 2中的Ionic 1代码将是这样的:
<ion-list [virtualScroll]="items">
<ion-item *virtualItem="#item">{{item.name}}</ion-item>
</ion-list>
您可以在http://ionicframework.com/docs/v2/api/components/virtual-scroll/VirtualScroll/
阅读官方文档Josh Morony在http://www.joshmorony.com/boosting-scroll-performance-in-ionic-2/
的例子答案 1 :(得分:0)
http://ionicframework.com/docs/v2/components/#lists
我不认为Ionic 2 beta包含该指令。它不在文档中。
顺便说一句,
使用ng-for进行基准测试并没有多大意义。反正它很慢。我们都知道反应本机更快。 :P
答案 2 :(得分:0)
目前,ionic2不使用collection-repeat。 ionic2确实有infinite scroll和virtual scroll。
你还应该注意:
新的角度语法将允许Angular与本机Web一起使用 组件并获得使用Web组件的好处。 Angular 2 将会在角度1上带来许多令人兴奋的改进,很快 允许我们创建更具伸缩性的Web应用程序。 - Cory Rylan