更改主干V1.0.0中的事件触发器

时间:2013-04-02 07:04:23

标签: backbone.js requirejs

我下载了最新的主干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;
});

实际上在模型中没有这些触发事件,为什么会发生这种情况呢?

1 个答案:

答案 0 :(得分:1)

That可能有助于了解版本之间的变化 另外,that也是。你提到的只是内置事件,它们没有任何问题。一点点研究/阅读Backbone的文档(当你使用Backbone时非常经典的行为)会告诉你。
如果我错过了你的问题,请随时告诉我。