DS.RecordArray の isLoaded が true に変更される状況がありますが、RecordArray の内容、長さプロパティはまだ空で、その時点では 0 であり、後でのみ変更されます。
サンプルコード(コーヒースクリプト):
@set('followRequests', App.FollowRequests.find())
...
whenDataLoads: (->
console.log @get('followRequests.isLoaded')
console.log @get('followRequests.length')
@set('content', @get('followRequests').toArray() )
).observes('followRequests.isLoaded')
最初のログ ステートメントは true ですが、2 番目は 0 で、このデータを使用するテンプレートは空です。実際の AJAX リクエストを見ると、リクエストがレコードの配列を返すことがわかります。また、RecordArray の長さと内容は、次のようにしてブラウザー コンソールに表示されるように、しばらくしてから変更されます。
App.Router.myController.get('followRequests').get('length')
---> 12
ただし、このコード (以下) はテンプレートにコンテンツを入力しますが、12 回実行されます...
whenDataLoads: (->
console.log @get('followRequests.isLoaded')
console.log @get('followRequests.length')
@set('content', @get('followRequests').toArray() )
).observes('followRequests.length')
RecordArray が完全に取り込まれたことを知る正しい方法は何ですか??