मैं वर्तमान में तो जैसे कुछ एंबर सरणियों को देख रहा हूँ से अधिक पुनरावृत्ति: अगर my_array अद्यतन किया जाता है,Ember.JS: @each अवलोकन, लेकिन सिर्फ नए/बदल आइटम
observe_array: function() {
this.get("my_array").forEach(function(e,i) {
// do something
});
}.observes("[email protected]");
कई बार, कई तत्वों पर जोड़ रहे हैं एक बार। हालांकि, पर्यवेक्षक एक-एक करके आग के रूप में प्रत्येक तत्व जोड़ दिया जाता है, जो बहुत ही अक्षम हो जाता है। क्या यह और अधिक कुशलता से करने के लिए वैसे भी है? अनिवार्य रूप से, मैं "my_array"
संदर्भ के लिए, my_array की यथार्थवादी आकार 600-1200 तत्वों के बीच हो जाएगा के आधार पर एक उत्परिवर्तित सारणी रखने के लिए सक्षम होना चाहिए। "कुछ करें" ब्लॉक में कुछ ऑपरेशन शामिल होते हैं जो थोड़ा अधिक समय लेते हैं - तारों से दिनांक वस्तुएं बनाते हैं और प्रत्येक तत्व को जेसन प्रतिनिधित्व में परिवर्तित करते हैं।
इसके बजाय एक पर्यवेक्षक करने का मैं भी संचित करने योग्य() विधि/ध्वज के साथ एक संपत्ति की कोशिश की, लेकिन वह बहुत ज्यादा चीजें तेजी लाने के लिए ....
क्या तुम जानते हो जब तुम सरणी अद्यतन किया जाता है? –
@ sly7_7 मुझे डर है कि मैं काफी समझ में नहीं आता कि तुम क्या कह रहे हैं लगता है, या कम से कम जवाब किस तरह आप देख रहे हैं। सरणी वास्तव में एक एम्बर-डेटा रिकॉर्ड सरणी है, और एक निश्चित मॉडल से लोड किए गए सभी तत्वों का प्रतिनिधित्व करती है। –
तुम मुझे यहाँ एक अच्छा जवाब दे, भले ही मेरे सवाल का एक बकवास ^^ था। My_array.isLoaded को देखने का प्रयास करें और देखें कि यह बेहतर है :) –