2017-03-16 6 views
0

アイテムのリストがあり、APIコールを使用して各アイテムの1つの値をロードする必要があります。イオン2:遅延ロードリストのアイテム値

問題:Apiの呼び出し関数(つまりgetCount(value))が無限回数呼び出されます。

この単純なコードは私の問題を示しています

テンプレートファイルのコード:

<ion-item *ngFor="let item of items"> 
    {{getCount(item.value) | async}} 
    </ion-item> 

TSファイルのコード:

export class LognPage { 
    public items = [{ value: 1 }, { value: 2 }, { value: 3 }, { value: 4 }, { value: 5 }, { value: 6 }]; 

    getCount(value) { 
    new Promise((reject, resolve) => { 
     setTimeout(() => { 
     resolve("value " + value); // this is called infinite number of times 
     }, 2000); 
    }); 
    } 
} 

誰もが任意のヘルプを提供していますか?

無限の呼び出しの理由は何ですか、私はこのようにすることはできませんか?

答えて

0

は、あなたのテンプレートで機能を使用しないでください。

valueList : Promise<any[]> 

ngOnInit(){ 

    for(item of items){ 
    getCount(item).then((value)=>{ 
     valueList.push(value); 
    }) 
    } 

} 



getCount(value) { 
    new Promise((reject, resolve) => { 
     setTimeout(() => { 
     resolve("value " + value); // this is called infinite number of times 
     }, 2000); 
    }); 
    } 

HTML:

<ion-item *ngFor="let value of valueList"> 
    {{value }} 
    </ion-item> 
関連する問題