Ember Dataによって返されるは、RecordArray実際には変更を目的としたものではありません。特に、Model.find()(sans-argument)およびModel.all()returnライブ配列は、新しい一致レコードが利用可能になると更新を続けます。
モデルの配列を操作する場合は、Model.find({})(引数によって使用されるようにfindQuery())を使用してプロパティを監視することをお勧めしisLoadedます。このようなもの:
query: null,
init: function() {
// should really do this in the route
this.set('query', Model.find({}));
},
content: function() {
var query = this.get('query');
return query && query.get('isLoaded') ? query.toArray() : [];
}.property('query.isLoaded')
これで、コンテンツは単純な古い配列を返し、それを使用することができます(ただし、配列の変更を開始する前に、レコードがロードされるのを待つ必要があります)。
クエリを更新し続けることが問題である場合は、の使用を検討してくださいModel.filter()。これは、のようなライブ配列を返しますfind()が、一致する関数を受け入れます。紛らわしいが、かなり意図的に、、、およびのいずれにもプロパティがないことに注意find()しall()てfilter()くださいisLoaded。
ページネーションに関しては、単純なミックスインアプローチ、またはより複雑なレールベースのソリューションを試すことができます。