E 'tecnicamente possibile viste nido, utilizzando template, qualcosa di simile:Backbone.js: vista nidificazione attraverso template
<%= new PhotoCollectionView({model:new PhotoCollection(model.similarPhotos)}).render().el) %>
posso mettere tutte le cose nel metodo di rendering, come pure, ma dà molto template più spazio per flessibilità e layout.
Ho provato la variante di cui sopra, ma tutto quello che ottengo di conseguenza sullo schermo è [HTMLDivElement]
.
Se provo a estrarre solo l'HTML fuori da esso, utilizzando l'HTML di jQuery, ottengo il rendering, ma risulta che i nodi DOM che vengono stampati sono diversi da quelli a cui le viste contengono un riferimento, perché nessuna interazione con quei nodi DOM è possibile usando l'istanza di visualizzazione. Ad esempio se all'interno della vista dico $(this.el).hide()
, non accadrà nulla.
Qual è il modo corretto, se esiste?
Non sono sicuro se questa tecnica sia tecnicamente possibile o meno, ma la raccomanderei contro, poiché i modelli dovrebbero contenere semplici istruzioni condizionali e non una qualsiasi logica applicativa. La logica dell'applicazione dovrebbe rimanere nelle tue visualizzazioni. In questo modo, c'è una chiara separazione delle preoccupazioni e la tua applicazione sarà più manutenibile. –
è possibile nidificare le viste utilizzando React.js –