backbone.js - Backbone.Collection.each - Very strange behaviour -


अब एक बैकबोन संग्रह की प्रत्येक विधि का उपयोग करते समय मैं बहुत असामान्य व्यवहार का अनुभव कर रहा हूं। मेरे ऐप में, मैं उपयोगकर्ताओं को मौजूदा मॉडल को संपादित करने की अनुमति देता हूं, जिसमें उस मॉडल में कई बार बाधाएं शामिल करना और संपादन करना शामिल है मॉडल और इसके समय की बाधाएं बैकबोन रिलेशनल के साथ जुड़ी हुई हैं I हर बार जब उपयोगकर्ता एक नया समय बाधा जोड़ने के लिए क्लिक करता है, तो मैं इसे सहेजने के बिना रिश्ते को एक टाइमकोनस्ट्रेनट मॉडल जोड़ता हूं। यदि कोई उपयोगकर्ता फिर से संपादन को रद्द करने का निर्णय करता है, तो सभी नये / न सहेजे गए समयसंयोजन रिश्ते से हटा दिए जाने चाहिए। हालांकि, जब मैं अपने संग्रह पर लूपिंग कर रहा हूं, तो यह अंतिम पुनरावृत्ति करने के लिए प्रतीत नहीं होता।

इस व्यवहार को प्रदर्शित करने के लिए मैंने एक जेएसफेल्ड का निर्माण किया:

निम्नलिखित चरणों का पालन करना हैं:

  1. "नीति संपादित करें" पर क्लिक करें
  2. "नया समय प्रतिबंध" बटन का उपयोग करके 2 या अधिक नई समय की कमी जोड़ें
  3. द्वारा संपादन रद्द करें "रद्द करें संपादन" पर क्लिक करें

    आप कंसोल को नोट करेंगे कि टाइम-कंसल्टेंट्स संग्रह की शुरुआती लंबाई और अंतिम लंबाई, साथ ही साथ सहेजे न गए मॉडल को निकालने के बाद मध्यवर्ती लंबाई। यह हमेशा कम से रोकता है और एक आइटम को संग्रह में छोड़ देता है, भले ही वे सभी नए / असुरक्षित हैं।

    मुझे बहुत सराहना होगी कि कोई मुझे इस समस्या से मदद करेगा, मुझे सचमुच सभी दिन।

    आप वस्तुओं को समय के संग्रह के रूप में निकाल रहे हैं संयम चल रहा है, जिससे संभवतः अपरिभाषित हो सकता है व्यवहार। पहली बार नई बार कंसल्टेंट्स की सूची प्राप्त करने की कोशिश करें, फिर उन्हें निकालने के लिए एक सरणी के रूप में गुजर रहा है:

      var toremove = this.model.get ('time_constraints')। फ़िल्टर (फ़ंक्शन (टाइम कंट्रोल) {वापसी का समय संयम। नयाँ ();}); । This.model.get ( 'time_constraints') (toRemove) को हटाने;    

Comments

Popular posts from this blog

java - NullPointerException for a 2d Array -

python - Assemble mpeg file unable to play in mediaplayer -

c# - NameSpace Manager or XsltContent to parse aspx page -