Есть ли способ провести условные события «добавить» в Backbone.js?

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

  •  24-10-2019
  •  | 
  •  

Вопрос

Я использую Backbone.js для моего веб-приложения, и оно до сих пор работает в полупроводке. Проблема в том, что иногда мне нужно добавлять элементы в коллекцию и заставить их перейти в верхнюю часть страницы, а в других случаях внизу. Иногда мне нужно, чтобы они анимировали, иногда нет. Есть ли способ сделать это чисто с Backbone.js? Передача аргументов к событию «Добавить» было бы хорошим способом (например, «ПРИМЕНОВАТЬ: TRUE»), но это не является вариантом ...

Спасибо!

Это было полезно?

Решение

Расширить Backbone.collection и переопределить функцию добавления:

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

Единственное, что нужно иметь в виду, это то, что если вы будете готовить, добавьте, вы можете скопировать Backbone.collection.add Add Add и поиграть с ним.

Вы также можете полагаться на сортировку коллекции. Добавьте свой атрибут своей позиции и анимации в модель, сортируйте по позиции и прослушайте события «добавить» в коллекции, чтобы правильно ее анимировать.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top