Ich arbeite mit der Todos-Beispielanwendung , die mit der neuesten Version von Backbone ausgeliefert wird (0.9.2), während ich über Backbone lerne .js. Meine Frage ist, warum ist die App so konzipiert, dass das Render-Ereignis zweimal ausgelöst wird, wenn ein Modell zur Todos-Sammlung hinzugefügt wird?
Wenn ich diese Zeile in die Renderfunktion des TodoViews lege:
%Vor%
Dann "Rendern!" erscheint zweimal in der Konsole. Ich verstehe, dass dies daran liegt, dass die Ansicht das Änderungsereignis des Modells mit dem Render der Ansicht verknüpft:
%Vor%
Und rendern wird in addOne aufgerufen, das an das add-Ereignis von Todos gebunden ist:
%Vor%
Aber ist das doppelte Rendering-Design Standard? Es scheint, als ob die Ansicht bei der Erstellung (oder dem Eintritt in das DOM) gerendert werden sollte, und dann wieder, wenn sich das zugrunde liegende Modell ändert. In diesem Fall wird nichts geändert, aber Render wird zweimal aufgerufen.
Ich lerne gerade Backbone, also habe ich vielleicht ein grundlegendes Missverständnis, das zu meiner Verwirrung führt.