离子2&收集重复

时间:2016-03-07 01:01:47

标签: angularjs ionic-framework ngfor

我正在制作* 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是否包含该指令?

谢谢,

德德

3 个答案:

答案 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 scrollvirtual scroll

你还应该注意:

  

新的角度语法将允许Angular与本机Web一起使用   组件并获得使用Web组件的好处。 Angular 2   将会在角度1上带来许多令人兴奋的改进,很快   允许我们创建更具伸缩性的Web应用程序。 - Cory Rylan