在回调中触发事件的访问模型

时间:2013-07-29 18:01:05

标签: javascript backbone.js marionette

在下面的示例中,我将如何访问触发"更改的模型:guid"回调函数中的事件?

Entry = Backbone.Model.extend({
    defaults: {
        db: 'not specified',
        guid: 'not specified'
    },

    initialize: function ()
    {
        this.on("change:guid", function (e) {
            alert(" guid changed!!!!!");
            //access model here
        });
    }

});

1 个答案:

答案 0 :(得分:3)

“e”应该是模型。根据文档,可以在回调中使用以下参数: “更改:[属性]”(模型,值,选项)

http://backbonejs.org/#Events-catalog

示例:

Entry = Backbone.Model.extend({
    defaults: {
        db: 'not specified',
        guid: 'not specified'
    },
    initialize: function () {
        this.on("change:guid", function (model, value, options) {            
            console.log(model);
        })
        this.set('guid', 123);
    }
});
var entry = new Entry()

如果您看一下控制台,就会有模型。 试试吧:

http://jsfiddle.net/r7hXS/