我下载了最新的backbone V1.0.0,和V0.9.2相比发现了一些奇怪的问题
TodosCollection.on('add', this.addOne, this);
TodosCollection.on('reset', this.addAllTodos, this);
TodosCollection.on('change:completed', this.filterOne, this);
TodosCollection.on("filter", this.filterAll, this);
TodosCollection.on('all', this.render, this);
将新内容添加到集合后,在 V0.9.2 中,只有以下三个序列事件触发:
add
change
sync
但在 V1.0.0 中,除了以上三个
change:cid
"change:attributes"
"change:collection"
"change:_changing"
.....
这么多事件触发
模型
define([
'lodash',
'backbone'
], function (_, Backbone) {
var TodoModel = Backbone.Model.extend({
defaults : {
title : '',
completed : false,
order : 0
},
settings : {
validation : {
rules : {
title : {
"required" : true,
"min" : 5
}
}
}
},
toggle : function () {
this.save({
completed : !this.get('completed')
});
}
});
return TodoModel;
});
实际上在模型中没有这些触发事件,那为什么会发生这种情况呢?