मैं बैकबोन के पीछे के निर्णयों को समझना चाहता हूं। यूआई तत्वों के बारे में मैरियनेट के विचार। जब एक मौजूदा डोम तत्व पर एक Marionette.View instantiating, इस तरह:Marionette में UI तत्वों की उपलब्धता। देखें
view = new Marionette.ItemView({
el: "#element",
ui : {
whatever : "#whatever"
}
});
मैं view.$el
, view.initialize
अंदर jQuery चयनकर्ता का उपयोग करने में सक्षम हूँ, अब तक तो अच्छा। हालांकि, जब मैं view.ui.whatever
तक पहुंचने का प्रयास करता हूं, तो मेरे पास केवल चयनकर्ता तक पहुंच है, यानि वास्तविक $("#whatever")
jquery चयनकर्ता के बजाय स्ट्रिंग "# जो भी" है।
इसका कारण यह है क्योंकि Marionette.View.bindUIElements()
केवल render
पर और initialize
से पहले नहीं कहा जाता है।
मुझे यह जानना है कि क्या आपको लगता है कि यह व्यवहार तर्क है और क्यों?
यदि मैं टेम्पलेट के साथ दृश्य बनाया गया है, तो मैं केवल मौजूदा el
पर दृश्य को जोड़ने के मामले में पूछ रहा हूं, मुझे समझ में आता है कि बाइंडिंग render()
में क्यों है।
यह एक साइड नोट है - यदि आप पेज पर वापस जाने के लिए बैक बटन पर क्लिक करते हैं तो आप व्यवहार का भी अनुभव करेंगे। ui तत्व का उपयोग करने से पहले 'this.bindUIElements()' को कॉल करना हल किया गया है जो – Phil