Dans la plupart des exemples BackboneJS que j'ai vus, les vues parentes appellent la fonction render()
sur les vues enfant. Cela me semble un peu étrange. Peut-être que c'est complètement pour l'optimisation ou autre chose, mais je ne vois pas pourquoi l'optimisation ne pourrait pas avoir lieu dans la vue enfant elle-même. La vue enfant ne devrait-elle pas être responsable de l'appel de sa propre fonction render()
? J'ai l'impression que dans toutes mes vues, je finis par quelque chose du genre :
initialize: function() {
this.render();
}
De plus, si ma vue parent met à jour les données de la vue enfant model
comment l'enfant est-il censé savoir que le modèle a changé (et par conséquent render()
doit être appelé) ? Je suppose que dans ce cas, le parent est obligé d'appeler la fonction render()
. Bien que cela soit en quelque sorte déduit, pourquoi le parent devrait-il savoir que l'enfant doit effectuer un nouveau rendu lorsque son modèle est modifié ? Il semble que l'appel de la fonction de rendu de la vue enfant soit en dehors du domaine de la vue parent.