Nel seguente numero Layout
, aggiungo uno CollectionView
per visualizzare un elenco SELECT entro onRender
. Subito dopo, sto usando l'ui hash per abilitare o disabilitare tutti i controlli all'interno della vista. Questo non funziona per la SELECT generata da new App.View.Categories
.Problemi di interfaccia utente con il layout della burotica backbone
Dovrebbe? O l'interfaccia utente non ha funzionato su Regions
all'interno di un 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')
);
}
});
Non ci sono errori. Ho aggiunto alcuni esempi di console.logs qui sopra. Il selettore sta tralasciando la selezione, ma restituisce gli altri due elementi. Come puoi vedere dal secondo console.log, lo stesso selettore incluso in $ works. – Bart
Guardando la fonte, penso di vedere il problema. Questi elementi sono vincolati PRIMA che l'elemento SELECT sia aggiunto all'interno di onRender. Forse aggiungere regioni come questa, all'interno di onRender, non è la migliore pratica. Hai un altro modello da consigliare? – Bart
Grazie per l'aggiornamento! – Bart