2013-02-05 11 views
8

मैं एक राय यह है कि एक collection नीचे की तरह लगता है संग्रह में मॉडल की एक विशेषता है।बाध्यकारी रीढ़ परिवर्तन घटना एक संग्रह में मॉडल के श्रेय देने के लिए

मुझे लगता है इस के लिए विकल्प की एक संख्या हैं:

  1. aCollectionToRender की एक मॉडल के लिए दृश्य बनाएं और उन विचारों में .on("change") घटनाओं देते हैं। मैं ऐसा नहीं करना चाहता क्योंकि मेरी स्थिति के लिए यह सही काम नहीं है
  2. बस this.collection.on("change") ईवेंट है और मेरी आवश्यकताओं के आधार पर ईवेंट हैंडलर फ़िल्टर है। यह कम सुरुचिपूर्ण है, और अगर रीढ़ पहले से ही मुझे घटना फिल्टर लिखने के लिए के रूप में मैं ऊपर से पूछा की अनुमति देता है, इस डुप्लिकेट कोड

मैं बस वहाँ किसी भी तरह से एक घटना श्रोता कि पहले से ही छानने करता है लिखने के लिए अगर सोच रहा था है। यह प्रश्न भी एक डुप्लिकेट हो सकता है; मैंने देखा लेकिन मुझे इस तरह कुछ भी नहीं मिला, हालांकि, बहुत सारे बैकबोन प्रश्न

उत्तर

16

हो सकता है कि मैं आपके प्रश्न को गलत समझ रहा हूं, लेकिन आप जो भी दिखाते हैं वह कर सकते हैं। Backbone documentation देखें।

MyView = Backbone.View.extend({ 
    initialize: function() { 
     this.collection.on("change:attributeName", this.someAction /*function to call*/, this); 
    }, 
    someAction: function(model, value, options){ 
    } 
}); 
+2

दोह! मुझे लगता है कि आप सही हैं! किसी कारण से मैंने सोचा कि यह एक संग्रह है, 'विशेषता' नाम 'परिवर्तन: विशेषता' नाम 'संग्रह की विशेषता को संदर्भित करता है, मॉडल नहीं। – Jay

+1

ठीक है, लेकिन आप यह कैसे कर सकते हैं: this.collection.on ("बदलें", फ़ंक्शन (मॉडल, प्रॉपर्टी) {// उस संपत्ति को प्राप्त करें जो यहां बदला गया था ...}); ??? –

संबंधित मुद्दे