7

मैं RequjS के साथ बैकबोन में एक नेस्टेड श्रेणियों की संरचना स्थापित कर रहा हूं।बैकबोन/आवश्यकता जेएस में परिपत्र निर्भरता

इस संरचना में, श्रेणियों के संग्रह में श्रेणी मॉडल होते हैं, और एक श्रेणी मॉडल में श्रेणियां संग्रह हो सकते हैं।

दुर्भाग्य से यह RequJS में डरावनी परिपत्र निर्भरता समस्या का कारण बनता है। मैंने RequJS (http://requirejs.org/docs/api.html#circular) पर दस्तावेज़ पढ़े हैं, हालांकि मुझे 'ए' और 'बी' भ्रमित करने के साथ स्पष्टीकरण मिल रहा है।

define([ 

    "jquery", 
    "underscore", 
    "backbone", 
    "collections/categories" 

    ], function($, _, Backbone, CategoriesCollection) { 

    var Category = Backbone.Model.extend({ 

     defaults: { 
      title: "Untitled" 
     }, 

     parse: function(data) { 
      this.children = new CategoriesCollection(data.children, {parse: true}); 
      return _.omit(data, "children"); 
     } 

    }); 

    return Category; 

}); 

...

define([ 

    "jquery", 
    "underscore", 
    "backbone", 
    "models/category" 

    ], function($, _, Backbone, CategoryModel) { 

    var Categories = Backbone.Collection.extend({ 
     model: CategoryModel 
    }); 

    return Categories; 

}); 

अगर किसी को जो पहले इस अनुभव किया है मदद कर सकते हैं मुझे सही दिशा में चलाने की मैं सोच रहा हूँ:

यहाँ मेरी कोड है, जो समस्या का कारण है है ।

धन्यवाद (अग्रिम में) आपकी मदद के लिए,

उत्तर

11

तुम बस फिर require संग्रह का उपयोग करने के लिए जब आप, मॉडल में इसकी आवश्यकता के रूप में संग्रह गुजर शुरू में अपरिभाषित किया जा सकता है की जरूरत है:

define([ 

    "jquery", 
    "underscore", 
    "backbone", 
    "collections/categories" 

    ], function($, _, Backbone, CategoriesCollection) { 

    var Category = Backbone.Model.extend({ 

     defaults: { 
      title: "Untitled" 
     }, 

     parse: function(data) { 
      if(!CategoriesCollection){ 
       CategoriesCollection = require("collections/categories"); 
      } 

      this.children = new CategoriesCollection(data.children, {parse: true}); 
      return _.omit(data, "children"); 
     } 

    }); 

    return Category; 

}); 

उदाहरण वे भी आयात require में लेकिन यह भी बिना काम करना चाहिए आयात

+0

बहुत अच्छा काम करता है, धन्यवाद – user1031947

+0

मैन - मैं अपनी परियोजनाओं में से एक में एक सर्क निर्भरता समस्या का पता लगाने की कोशिश कर रहा हूं और इससे वास्तव में मुझे मदद मिली - धन्यवाद बंच। – Stevus

+0

यह संग्रह को लोड करने के बाद से दूसरी बार असिंक हो सकता है क्योंकि समस्याएं हो सकती हैं? –

0

इसके लिए आपको Backbone Relational की तरह एक प्लगइन का उपयोग करने के लिए विचार करना चाहिए।

+0

धन्यवाद, मैंने बैकबोन रिलेशनल को देखा। मुझे एहसास है कि एक साधारण नेस्टेड सूची के लिए, जो मुझे चाहिए, यह थोड़ा अधिक है। – user1031947