javascript - Display number of collection items in a View with Backbone -


मैं संग्रह में वस्तुओं की संख्या कैसे दिखाऊं? मैंने collection.models.length या collection.length का उपयोग करने का प्रयास किया मैं यहां तक ​​कि बैकबोन.कॉल्यूशन नामक एक कोड को भी संग्रह की लंबाई वापस करने के लिए बनाया लेकिन कुछ भी नहीं हुआ।

खाका: < / P>

  & lt; p & gt; आपके पास & lt; span class = "caller-num" & gt; 0 & lt; / span & gt; मिस्ड कॉल। & Lt; / p & gt;   

संग्रह:

  // कॉल करने वाले संग्रह को परिभाषित करें (['jquery', 'underscore', 'backbone', 'मॉडल / कॉलर'], फ़ंक्शन ($, _, बैकबोन, कॉलर) {var कॉलर्स लिस्ट = बैकबोन.कॉलक्शन.एंडेंड ({मॉडल: कॉलर, यूआरएल: 'जेएस / जेसन / कॉलर्स.जेसन', // को ऐसा करना पड़ा क्योंकि यह 'कॉलर्स' कुंजी है वस्तुओं की सरणी होती है, जेसन पार्स: फ़ंक्शन (डेटा) {return data.callers;}, गिनती: फ़ंक्शन () {this.length;}}); वापसी कॉलरलिस्ट;};   

मिस्ड कॉल्स देखें: मिस्ड कॉल्स की संख्या दिखाना

  परिभाषित करें (['jquery', 'अंडरस्कोर', 'बैकबोन', 'संग्रह / कॉलर -लिस्ट ',' पाठ! टेम्पलेट्स / मिस्ड-कॉल-नंबर-टेम्पलेट-एचटीएमएल '], फ़ंक्शन ($, _, बैकबोन, कॉलर्स लिस्ट, मिस्का कॉलम न्यूमेटेप्लेट) {var मिसेकड कॉलम संख्याव्यू = बैकबोन.व्यू। एक्सटेंशन ({एल:' .नम्बर- ऑफ-कॉलर्स ', टेम्पलेट: _ टैम्प्लेट (मिस्ड कॉलम्स न्यूमेटप्लेट), इनिशियलाइज़: फ़ंक्शन () {var कॉलर्स = न्यू कॉलर्स लिस्ट; यह। $ El.find ('। Caller-num ')। पाठ (callers.count ()); //this.$el.find('caller-num').text($ ('caller').length); / * यह या तो काम नहीं करता है, रेंडर: फ़ंक्शन () {यह। $ el.html (this.template (this.model)); इस वापसी;}}); MissedCallsNumberView;};);   

AppView:

  परिभाषित करें (['jquery', 'अंडरस्कोर', 'बैकबोन', 'संग्रह / कॉल करने वाले-सूची', 'दृश्य / कॉल करने वाले (दृश्य, 'दृश्य / मिस्ड-कॉल-संख्या-दृश्य'], फ़ंक्शन ($, _, बैकबोन, कॉलर्स लिस्ट, कॉलर्सव्यू, मिसेड कॉल नंबर संख्या) {var AppView = Backbone.View.extend ({एल: '.app', आरंभ करना : Function () {_.bindAll (यह, 'रेंडर'); this.render (); var कॉलर्स = नए कॉलर्स लिस्ट; callers.fetch ({reset: true}); $। El.find ('। Caller- Num ')। पाठ (callers.models.length);}, रेंडर: फ़ंक्शन () {var कॉलर्सव्यू = न्यू कॉलर्सव्यू ({संग्रह: कॉलर्स लिस्ट}), एमसीएन = नया मिस्डकॉल संख्यावार दृश्य ({संग्रह: कॉलर्स लिस्ट}); यह $ EL .append (callersView.render ()। El); यह। $ El.find ('header')। अनुलग्नक (mcn.render ()। El);}}); वापसी AppView;});    

लम्बाई रेंडर विधि में आपके संग्रह पर काम करना चाहिए MissedCallsNumberView

  रेंडर: फ़ंक्शन () {this। $ el.html (this.template (this.model)); । इस $ el.find ( '। फोन करने वाले-संख्या') पाठ (callers.length)। इसे वापस; }   

मुझे लगता है कि समस्या यह है कि आप अपने दृश्य के प्रारंभ में एक नया संग्रह बना रहे हैं शायद आप चाहते हैं कि आप जिस संग्रह को पास करते हैं, वह दृश्य बनाते समय:

  var callers = this.collection;    

Comments

Popular posts from this blog

Java - Error: no suitable method found for add(int, java.lang.String) -

java - JPA TypedQuery: Parameter value element did not match expected type -

c++ - static template member variable has internal linkage but is not defined -