给出一个小组
var panel = new Backbone.CollectionView({...})
如何对当前模型进行排序?
panel.on('sortStart', function(e) {
var index = something;
});
答案 0 :(得分:2)
我想你使用某种UI操作工具,例如jQuery UI。正如Lesha在comment中所说,可以通过在模型视图上触发事件来完成。
//creting children view
var PanelItem = Backbone.View.extend({
events: {
"sortStart": "sortEventPropagation"
},
initialize : function (options) {
this.parentView = options.parentView;
},
sortEventPropagation: function(){
this.parentView.trigger('sort:start:propagated', this.model);
},
})
每次创建panelItem视图时,都需要将选项面板作为parentView传递给它。
var childView = new PanelItem({
parentView: panel
})
在面板上,您可以轻松地收听sort:start:propagated
事件
var Panel = Backbone.CollectionView.extend({
initialize: function(){
this.listenTo(this, 'sort:start:propagated', function(model){
//Do magic with model
})
},
})