È possibile ottenere l'ultimo ItemView da un Backbone CompositeView? Ho trovato molta documentazione per ottenere l'ultimo modello in una raccolta, ma non quell'ultima vista in una raccolta di viste.Ottieni la vista dell'ultimo elemento da CompositeView in Marionette
La ragione per cui vorrei farlo è che posso rendere l'ultima riga in una tabella leggermente diversa.
Quanto segue è il codice che sto usando in questo momento, funziona bene, ma sarebbe meno "hacky" se potessi ottenere il ItemView corretto da CompositeView che lo ha creato e reso. Usa jQuery per cercare l'intera parte del DOM contenuta da CompositeView per l'ultimo elemento, quindi manipola quell'elemento.
B.ListControl.View = Backbone.Marionette.CompositeView.extend({
itemView: ...,
itemViewContainer: ...,
template: ...,
// ON RENDER
onRender: function(){
// Add button to the last element in the list
this.$el.find('div:last').text('Custome stuff goes here');
}
});
Grazie!
Fantastico, grazie mille! –
Documentazione Backbone.BabySitter per la ricerca di viste da un 'ChildViewContainer' (che' .children' è un'istanza di): https://github.com/marionettejs/backbone.babysitter#retrieving-views – alxndr
n.b. 'CompositeView' della marionetta ha una proprietà chiamata' .childViewContainer' ma non è correlata: Marionette si aspetta che sia una stringa di selettore jQuery che userà per determinare dove mettere le istanze della classe 'childView' che produce. https://github.com/marionettejs/backbone.marionette/blob/master/docs/marionette.compositeview.md#compositeviews-childviewcontainer – alxndr