मेरे पास एक ऐसी स्थिति है जहां डीएस पर रिकॉर्ड किया गया है। रिकार्डअरे सही में बदल जाता है लेकिन सामग्री, लम्बाई रिकॉर्ड रिकॉर्डर्रे अभी भी खाली है, उस समय 0 और केवल बाद में बदलती है।एम्बर-डेटा: यह जानना कि जब रिकॉर्डअरे पूरी तरह से आबादी हो जाती है
नमूना कोड (coffeescript):
@set('followRequests', App.FollowRequests.find())
...
whenDataLoads: (->
console.log @get('followRequests.isLoaded')
console.log @get('followRequests.length')
@set('content', @get('followRequests').toArray())
).observes('followRequests.isLoaded')
पहले लॉग बयान सही है, जबकि दूसरा 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')
रिकॉर्डअरे पूरी तरह से पॉप्युलेट होने पर जानने का सही तरीका क्या है ... ??
मेरा मानना है कि यह एम्बर डेटा में एक बग है, मैंने इसके लिए बग ट्रैकर पर [एक मुद्दा] (https://github.com/emberjs/data/issues/652) खोला। हालांकि कामकाज खोजने में खुशी होगी। –
@AdrienCoquio, धन्यवाद, किसी और को जानना अच्छा है, इसका भी सामना करना पड़ रहा है। इसे ट्रैक करेंगे, हालांकि मुझे वास्तव में कोई संभावित कामकाज नहीं दिख रहा है .. –