私は、emberjs でマスター/詳細ビューを実装することに少しこだわっています。
私のビューのほとんどには、タイトルのリストであるマスター ビューがあります。次に、ユーザーがそのようなタイトルをクリックすると、詳細ビューのオーバーレイが表示されます (典型的なニュースサイトのページに似ています)。
ここで、ember が master-view の情報を要求すると、次のような URL を呼び出すことに気付きました/backend/newsitems
。しかし、これらの呼び出しは非常に重くなる可能性があります。これは、バックエンドがすべての newsitem のリストとそのすべての詳細データを返すためです。しかし、ユーザーはマスター ビューしか見ておらず、詳細情報をまだ要求していないため、これは間違っているように感じます。
マスタービューにはいくつかの属性のみが必要であり、詳細情報のリクエストではその特定のアイテムの追加属性を取得する必要があることを明確にする方法はありますか?
例として、私のモデルは次のようになります。
App.Newsitem = DS.Model.extend({
slug: DS.attr('string'),
type: DS.attr('string'),
title: DS.attr('string'),
summary: DS.attr('string'),
text: DS.attr('string'),
thumb: DS.attr('string'),
date: DS.attr('date'),
mediaitems: DS.hasMany('App.Mediaitem')
});
しかし、私のマスター ビューではid
type
title
、タイトルのリストとそのタイトルの横にアイコンを表示するだけで済みます。次に、ユーザーが 1 つの newsitem の詳細を要求すると、他のすべての属性が取得されます。