有没有办法在backbone.js中进行有条件的“添加”事件?
-
24-10-2019 - |
题
我正在为我的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。
您也可以依靠集合排序。将您的位置和动画属性添加到模型中,对位置进行排序,然后收听集合上的“添加”事件,以正确地对其进行动画。
不隶属于 StackOverflow