2016-05-23 3 views
0

例として、人と住所のモデルがあり、住所に人が多く、人が住所に属していた場合、アドレス市のフィールドが「マンチェスター」だったすべての人を検索する方法を教えてください。例えば。Ember JS - 複数のモデルを検索しますか?

過去数週間にわたってエンバーを学んだ後、私はこれが働くだろう正確にどのように見つけるために私の脳をWRACKすることはできません...いくつかの非同期に基づいてレコードのリストをフィルタリングする際

答えて

1

Ember.RSVP.filterは非常に便利ですそれはフィルタ配列の約束とコールバックの両方の約束が解決されるまで待ち、その結果を別の約束を返し、属性:あなたはすでにperson配列を持っている場合は

Ember.RSVP.filter(store.findAll('person', function (person) { 
    return person.get('address').then(function (address) { 
     return address.get('city') === 'Manchester'; 
    }); 
}).then(function (filteredPersons) { 
    // filteredPersons are the persons who live on Manchester 
}); 

、あなたはを使用してEmber.RSVP.filterにそれを渡すことができですので、バックエンドコールを再度行う必要はありません。

Ember.RSVP.filter(Ember.RSVP.resolve(persons), function (person) { 
    ... 
}).then(function (filteredPersons) { 
}); 
関連する問題