Gibt es eine Möglichkeit, bedingte „Hinzufügen von“ Ereignissen in Backbone.js zu haben?

StackOverflow https://stackoverflow.com/questions/5310385

  •  24-10-2019
  •  | 
  •  

Frage

Ich benutze Backbone.js für meine Web-App und es funktioniert bisher halbvertreibend. Das Problem ist, dass ich manchmal Elemente zur Sammlung hinzufügen und sie oben auf der Seite und manchmal nach unten gehen lassen muss. Manchmal muss ich sie animieren, manchmal nicht. Gibt es eine Möglichkeit, dies sauber mit Backbone.js zu machen? Das Übergeben von Argumenten an das "Add" -Event wäre ein guter Weg (z. B. "Vorbereitung: Richtig"), aber dies scheint keine Option zu sein ...

Vielen Dank!

War es hilfreich?

Lösung

Backbone erweitern.Collection und überschreiben Sie die Funktion hinzufügen:

PositionCollection = Backbone.Collection.extend ({
  add: function( model, options ){
    // do your stuff
    // call the real add
    Backbone.Collection.prototype.add.call(this, model);
  }
});

Wenn Sie sich vorbereiten, möchten Sie möglicherweise nur Backbone.collection.add in ganz kopieren und damit spielen.

Sie können sich auch auf die Sammlungssortierung verlassen. Fügen Sie Ihr Positions- und Animationsattribut zum Modell hinzu, sortieren Sie die Position und hören Sie in der Sammlung Ereignisse zu "hinzu", um es richtig zu animieren.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top