私のバックエンドによって公開された次のクエリを使用します。
GET /api/foos
- マスターリスト内での表示に適した、すべての Foo のリストを返します
GET /api/foos/:foo_id
- 詳細ビュー内での表示に適した、より詳細な情報を含む単一の Foo を返します
私のフロント エンドでは、左側に Foos のリストが表示され、そのうちの 1 つがクリックされると、右側 (アウトレット内) のアウトレットにその詳細バージョンが表示されます。
{{#each foo in model}}
{{#link-to 'foo' foo}}{{foo.name}}{{/link-to}}
{{/each}}
{{outlet}}
私は自分のモデルを格納するために ember-model を使用しており、それらが呼び出されたときに上記のバックエンド API を正しくヒットするように とフックを実装しました。App.Foo.adapter
find
findAll
私のアプリが最初にGET /api/foos
(via findAll
) にヒットし、次にユーザーが Foo をクリックすると、ember-model はフックGET /api/foos/:foo_id
を呼び出さないためヒットしません。find
その特定のモデルが既にキャッシュにあることを認識するためです。 .
これは素晴らしいことです。なぜなら、既にメモリにあることがわかっているのに、もう一度フェッチする必要があるからです。
しかし、私のアプリでは、この仮定は不十分です。その Foo のフル バージョンを取得したかどうかをさらに確認する必要が!!aFoo.get('propertyOnlyInDetailedVersion')
あります。
これを行うにはどうすればよいですか - 以前にフェッチされたオブジェクトを ember-model に再フェッチさせるにはどうすればよいですか?