gpt4 book ai didi

javascript - 使用 Backbone.js 对集合进行排序

转载 作者:行者123 更新时间:2023-11-29 09:53:45 25 4
gpt4 key购买 nike

我正在尝试使用 backbone.js 向我的收藏添加动态排序。

在初始化时,集合具有默认排序并呈现 View 。我制作了一个按钮来测试如何更改排序。它调用以下函数:

app.productList.comparator = function(product) {
return parseFloat(product.get("price"));
};
app.productList.sort();

如果我理解正确,现在应该对集合进行排序,但仍需要刷新 View 。我阅读了文档和 in this topic监听 sort 事件

window.ProductCollection = Backbone.Collection.extend({
model:Product,
localStorage: new Backbone.LocalStorage("ProductCollection"),

events:{
"sort":"test"
},

test:function(){
alert('test');
}
});

出于测试目的,我添加了一个简单的警报,但未显示。所以似乎没有触发排序事件。

知道我在这里做错了什么吗?

最佳答案

Backbone.Collection没有考虑像 Backbone.View 这样的事件哈希确实如此,您必须自己绑定(bind)事件。您可以使用 initialize 方法来执行此操作,例如

var ProductCollection = Backbone.Collection.extend({
model:Product,

initialize: function() {
this.on('sort', this.test);
},

test: function(){
console.log('test');
}
});

还有一个演示 http://jsfiddle.net/nikoshr/fTwpf/

关于javascript - 使用 Backbone.js 对集合进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16934119/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com