के साथ यूआई हैश समस्याएं निम्नलिखित Layout
में, मैं onRender
के भीतर एक चयन सूची प्रदर्शित करने के लिए CollectionView
जोड़ रहा हूं। उसके तुरंत बाद, मैं दृश्य के भीतर सभी नियंत्रणों को सक्षम या अक्षम करने के लिए ui हैश का उपयोग कर रहा हूं। यह new App.View.Categories
द्वारा उत्पन्न SELECT के लिए काम नहीं करता है।बैकबोन मैरियनेट लेआउट
क्या यह चाहिए? या क्या यूआई हैश Regions
पर Layout
पर काम नहीं करता है?
App.View.UploadFile = Backbone.Marionette.Layout.extend({
template: '#upload-file-template',
regions:{
category: 'td:nth-child(4)'
},
ui:{
inputs: 'textarea, select, .save'
},
onRender: function(){
this.category.show(
new App.View.Categories({
collection: App.collection.categories
}) // generates the SELECT list
);
console.log(this.ui.inputs); // Length 2. Missing select.
console.log(this.$('textarea, select, .save')); // Length 3
this.ui.inputs.prop(
'disabled', (this.model.get('upload_status')!='staged')
);
}
});
कोई त्रुटि नहीं है। मैंने ऊपर कुछ उदाहरण console.logs जोड़ा। चयनकर्ता चयन छोड़ रहा है, लेकिन यह अन्य दो तत्वों को वापस कर रहा है। जैसा कि आप दूसरे console.log द्वारा देख सकते हैं, वही चयनकर्ता $ कार्यों में लपेटा गया है। – Bart
स्रोत को देखते हुए, मुझे लगता है कि मुझे समस्या दिखाई दे रही है। चयन आइटम को रेंडर के भीतर जोड़े जाने से पहले उन वस्तुओं को बाध्य किया जाता है। शायद इस तरह के क्षेत्रों को जोड़ने पर, रेंडर के भीतर, सबसे अच्छा अभ्यास नहीं है। क्या आपके पास सिफारिश करने के लिए एक और पैटर्न है? – Bart
अद्यतन के लिए धन्यवाद! – Bart