2012-05-25 18 views
7
(function ($) { 
window.AppView = Backbone.View.extend({ 
    el: $("body"), 
    events: { 
    "click #add-friend": "showPrompt", 
    }, 
    showPrompt: function() { 
    var friend_name = prompt("Who is your friend?"); 
    } 
}); 
var appview = new AppView; 
})(jQuery); 
  1. विशेषता किसी को भी मुझे बता सकते हैं el यहाँ है क्या। क्या यह तत्व है?
  2. एल तर्क वस्तु स्वीकार करता है, यदि ऐसा है तो मैं अपने कस्टम दृश्य वस्तु जहाँ मेरे बटन या तत्व जोड़े जाने की जरूरत है पारित कर सकते हैं ...

उत्तर

5
  1. हाँ, यह एक डोम तत्व है।
  2. नहीं, आप एक कस्टम ऑब्जेक्ट पास नहीं कर सकते हैं। आप या तो मौजूदा तत्व निर्दिष्ट करते हैं, या tagName, className, id और attributes दृश्यों के गुणों में से एक बनाते हैं। आप एक तत्व निर्दिष्ट नहीं करते हैं, यह एक div

यह official documentation वास्तव में सब है करने के लिए चूक ...

2

Alladnian ने इसका उत्तर दिया, लेकिन मैं जोड़ना होगा कि जब el का उपयोग कर आप $el का उपयोग कर सकते जो आपके व्यू तत्व का एक कैश किया गया jQuery ऑब्जेक्ट है।

तो आप हमेशा केवल उस टैग को पास कर सकते हैं जिसका आप उपयोग करना चाहते हैं (स्थिरता, ब्रेवटी और लचीलापन के लिए) और उसके बाद इसे jQuery ऑब्जेक्ट के रूप में उपयोग करने के लिए $el के रूप में संदर्भित करें।

this.$el.addClass("active");