我正在为我的Web应用程序使用Backbone.js,到目前为止,它可以使用半孔。问题在于,有时我需要将项目添加到集合中,并将它们添加到页面顶部,而其他时间到达底部。有时我需要它们动画,有时不是。有没有办法用backbone.js干净地进行操作?将参数传递给“添加”事件将是一个好方法(例如“ prepent:true”),但这似乎不是一个选择...

谢谢!

有帮助吗?

解决方案

扩展骨干。收集并覆盖添加函数:

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。

您也可以依靠集合排序。将您的位置和动画属性添加到模型中,对位置进行排序,然后收听集合上的“添加”事件,以正确地对其进行动画。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top