2013-02-26 117 views
5

मैं एक kendo.data.ObservableObject का उपयोग कर रहा हूं, और एक बार में दो विशेषताओं को बदलना चाहता हूं (इसलिए परिवर्तन-ईवेंट को दो बार नहीं निकाल दिया जाता है)। मुझे वाक्यविन्यास (background.set('id', backgroundId) एक एकल विशेषता के लिए) के बारे में निश्चित नहीं है, और दस्तावेज़ीकरण बहुत मदद नहीं है। कोई मदद?KendoUI ObservableObject: एकाधिक विशेषताओं को सेट करें

धन्यवाद!

उत्तर

5

आप एक बार में एक से अधिक विशेषता सेट नहीं कर सकते हैं। आपको दो बार set विधि दो बार कॉल करने की आवश्यकता है।

model.foo = "foo" ; // won't trigger "change" 
model.set("bar", "bar"); // will trigger "change" 
+0

तो मूल रूप से इस बदलाव घटना दो बार ट्रिगर करेगा:

तुम सिर्फ ट्रिगर परिवर्तन घटना set विधि का उपयोग कर के बिना विशेषता आवंटित से बचना चाहते हैं? क्या इस सीमा के चारों ओर एक और रास्ता है? एक कस्टम घटना लिखना? – Steven

+0

एक कस्टम घटना फायरिंग से परिवर्तन घटना को रोक नहीं पाएगी। –

+0

इस घटना के दौरान क्या होता है विशेष रुचि क्या है। हमारे पास एक अवलोकन ऑब्जेक्ट के लिए एक ग्रिड है, प्रत्येक पंक्ति में एक विशेष कॉलम के लिए एक कस्टम चयनकर्ता होता है, जब बदलते समय एक ईवेंट उठाता है जिसे हम कैप्चर करते हैं जो बदले में सेट विधि का उपयोग करके args.data ऑब्जेक्ट पर विभिन्न फ़ील्ड अपडेट करता है। यह अविश्वसनीय रूप से धीमा है और इसके चारों ओर बिल्कुल कोई रास्ता नहीं है। हम अवलोकन योग्य ऑब्जेक्ट से दूर करने पर विचार कर रहे हैं, यह इसके लायक नहीं लगता है। – Jacques