27

新しいルーターと ember データ rev 11 を使用しています。

サーバーからレコードのデータを再ロードするように ember-data を強制する必要があります。App.MyRecord.find関数で (2)を使用setIntervalすると、クライアントのローカル ストアからデータが読み込まれます。

サーバーからデータをリロードするにはどうすればよいですか?

4

1 に答える 1

55

Ember Data にプッシュしました record.reload()これにより、アダプターはサーバーからデータを再ロードし、レコードを新しいデータで更新するように要求されます。

制約:

  • reload()ロードが完了し、まだ変更されていない場合にのみ、レコードを呼び出すことができます。そうしないと、返されたデータが変更されたデータと競合します。将来的には、これらの種類の競合に対処するためのマージ フックのサポートを追加する予定です。これによりreload()、より多くのレコード状態が可能になります。
  • アダプタが新しいデータを返す前にレコードを呼び出しreload()て変更または保存すると、同じ理由でエラーが発生します。現在、エラーは次のようになっていAttempted to handle event 'reloadRecord' on <Person:ember263:1> while in state rootState.loaded.updated.uncommitted.ます。基本的に、これはレコードが「更新されたがコミットされていない」状態にありreload()、「読み込み中および未変更」状態の外で呼び出すことは許可されていないことを意味します。
于 2013-01-06T15:16:35.043 に答える