के साथ रीढ़ की हड्डी दृश्य मुझे लगा कि मैं Backbone.View
की el
विशेषता को गलत समझा रहा था। असल में मेरे विचारों को इसके मॉडल की विशेषता के आधार पर गतिशील id
विशेषताओं की आवश्यकता होती है। मैंने सोचा कि मैं इस काम कर ठीक है, क्योंकि मैं केवल मेरे टेम्पलेट में यह निर्दिष्ट था:गतिशील आईडी
<script type="text/template" id="item_template">
<li class="item" id="{{identifier}}">
<span class="name">{{name}}</span>
</li>
</script>
हालांकि, मैंने महसूस किया कि क्या बैकबोन गया था वास्तव में यह करके संकलित टेम्पलेट एक और तत्व में डिफ़ॉल्ट रूप से डाल दिया गया था, div
। मैंने दस्तावेज़ीकरण को पढ़कर इसके बारे में और कुछ सीखा, लेकिन मैं अभी भी एक गतिशील id
बनाने के तरीके पर उलझन में हूं।
अधिमानतः, मुझे ऐसा करने का तरीका ढूंढना अच्छा लगेगा कि उपरोक्त टेम्पलेट में सामान मेरे el
के रूप में कार्य करता है, क्योंकि इसमें पहले से ही सब कुछ है जो मुझे चाहिए, लेकिन मुझे नहीं पता कि यह संभव है या नहीं। तो मैं सोच रहा हूं कि, काफी सरलता से, एक गतिशील id
विशेषता निर्दिष्ट करने का एक तरीका है।
मैंने इसे initialize
विधि, this.id = this.model.get('attr')
में सेट करने का प्रयास किया लेकिन ऐसा कोई प्रभाव नहीं प्रतीत होता, संभवतः क्योंकि इस समय तक यह बहुत देर हो चुकी है।
क्या मैं वर्तमान में कर रहा हूँ बस जोड़ने के लिए jQuery उपयोग कर रहा है id
में render()
दौरान:
this.el.attr(id: this.model.get('identifier'));
यह काम करता है, लेकिन निश्चित रूप से, मैं बस अगर वहाँ यह करने के लिए एक पसंदीदा तरीका है पूछ रहा हूँ बैकबोन के माध्यम से।
धन्यवाद फिर maxl0rd (दूसरे प्रश्न पर मेरी मदद की: डी)। यह वास्तव में ऐसा लगता है जैसे इसे काम करना चाहिए: डी मैं इसे आज़माउंगा और सही के रूप में चिह्नित करने के लिए वापस आऊंगा :) –
उन लोगों के लिए जो टैग नहीं करते हैं, निर्दिष्ट नहीं होने पर टैगनाम डिफ़ॉल्ट रूप से div को डिफ़ॉल्ट करता है। मुझे एक अच्छी संख्या में टेम्पलेट दिखाई देंगे जिसमें एक कंटेनर [फॉर्म, div, आदि है ...एक आईडी के साथ] और वह वास्तव में दृश्य का हिस्सा होना चाहिए, न कि टेम्पलेट अक्सर। जैसा कि maxl0rd के उत्तर में दिखाया गया है – PDA