2011-05-17 13 views
28

में 'url' प्रॉपर्टी या फ़ंक्शन निर्दिष्ट त्रुटि निर्दिष्ट होनी चाहिए, मैं बैकबोन कैसे काम करता है यह जानने के लिए एक छोटा ऐप बनाने की कोशिश कर रहा हूं। मैंने Todo नामक स्रोत से उदाहरण ऐप लिया। मैंने टोडो ऐप से स्निपेट का उपयोग करके स्क्रैच से अपना ऐप बनाया है। मुझे लगता है कि ये ऐप्स बहुत समान दिखते हैं लेकिन किसी कारण से मैं कुछ चीजें काम नहीं कर सकता जो उदाहरण ऐप में ठीक काम करते हैं। मैं एक त्रुटि मिलती है:बैकबोन.जेएस

A 'url' property or function must be specified 

अन्य समस्या यह है कि मैं उदाहरण के काम से इस कोड को नहीं बना सकते:

this.model.bind('change', this.render); 

इसे कहते हैं बाँध के रूप में कोई इस तरह के एक समारोह है। मैंने सभी पुस्तकालय संस्करणों और कोड की जांच की और मुझे यह नहीं पता कि मैं क्या गलत करता हूं। इस बारे में क्या किया जा सकता है?

+3

काम किया आपके कोड का, URL त्रुटि के साथ समस्या की व्याख्या करना मुश्किल है। मेरे लिए सबसे स्पष्ट, यह है कि यह बैक-एंड सर्वर से कुछ लाने की कोशिश कर रहा है और इसे निर्माण के लिए इसके लिए एक यूआरएल चाहिए, लेकिन आपने एक प्रदान नहीं किया है। दूसरी त्रुटि के लिए, क्या आपका मॉडल रीढ़ की हड्डी का मॉडल है? इसके ऊपर की रेखा पर "console.log (this.model)" डालें, इसे फ़ायरबग में देखें, और पता लगाएं कि इसमें बाध्य संपत्ति है या नहीं। –

उत्तर

38

TODO उदाहरण स्थानीय स्टोरेज पर निर्भर है इस प्रकार यह एक यूआरएल परिभाषित नहीं करता है (जैसा कि यह स्थानीय है)। हालांकि, जब आप डिफ़ॉल्ट Backbone.sync कार्यान्वयन का उपयोग करते हैं, तो आपको अपने संग्रह और मॉडल पर एक यूआरएल विशेषता परिभाषित करने की आवश्यकता होती है (यह या तो स्थैतिक या फ़ंक्शन हो सकता है)। ऐसा नहीं कर रहा है जो आपको मिली त्रुटि में परिणाम देता है।

इस के लिए। Model.bind, मुझे लगता है कि आप किसी भी तरह से अपने मॉडल का संदर्भ खो चुके हैं। दो चीजें: यह ऐसा नहीं है जो आपको लगता है या यह है। Model परिभाषित नहीं किया गया है। पूर्ण उत्तर पाने के लिए और कोड पोस्ट करें।

+0

संकेतों के लिए धन्यवाद, मैं अब इन्हें जांचूंगा और यदि मैं मुद्दों को हल करता हूं तो आपको बता दूंगा। धन्यवाद। –

+2

यह रीढ़ की हड्डी के दस्तावेज़ीकरण के विपरीत है: "फ़ॉर्म के यूआरएल जेनरेट करता है:" /[collection.url]/[id] ", मॉडल"/[urlRoot]/id "पर वापस आ रहा है अगर मॉडल संग्रह का हिस्सा नहीं है।" – liammclennan

+4

यह उत्तर रीढ़ की हड्डी 0.3.x के लिए था, परियोजना पिछले साल से विकसित हुई ... – Julien

3

संग्रह URL पर json उत्पादन से मॉडलों में से एक गुच्छा लोड करने के लिए प्रयास करता है:

window.MyList = Backbone.Collection.extend({ 
    model: MyModel, 
    url: 'someurl.json', // load a bunch of json objects into models. 
}); 

अपने मॉडलों के एक json उत्पादन के लिए है जो URL अंक, आप बिल्कुल तैयार कर रहे हैं।

तुम भी तरह से एक संग्रह अपने सर्वर विरासत सर्वर या एक स्थानीय भंडारण एडाप्टर का समर्थन करने के लिए वापस शोकहारा कॉल करता है ओवरराइड कर सकते हैं: http://documentcloud.github.com/backbone/#Sync

0

संग्रह संपत्ति यूआरएल को नियत अधिक के बिना के लिए मुझे

todoList.url = "/GetData/GetTodo"; 
संबंधित मुद्दे