backbone.js - Marionette CollectionView: how to check whether item is added because of "reset" or "add"? -
i using marionette's collectionview render list of items itemviews. whenever new item added, want run short fade-in animation. not when collection rendered (or collection reset).
before using marionette, handled reset , add events differently, can not figure out how here. looked @ source code , seems additemview responsible adding child view , both addchildview (called when add triggered on collection) , render (for reset events) call method.
maybe missing obvious.
this 1 way of doing it:
include these functions in compositeview declaration:
onbeforerender: function(){ this.onbeforeitemadded = function(){}; }, onrender: function(){ this.onbeforeitemadded = myanimation; } this similar solution present in book on marionette (https://leanpub.com/marionette-gentle-introduction/)
how works: marionette triggers "before:render" before renders entire collection, can set the onbeforeitemadded function nothing. once collection has been rendered, set function animate new item view.
since each time collection view adds item view triggers "before:item:added", can define onbeforeitemadded function automatically called when event triggered. matching happens triggermethod.
this solution should solve problem, without needing add flags on model.
Comments
Post a Comment