通过构造函数设置模型的属性

时间:2015-07-08 15:10:14

标签: javascript backbone.js

我有一个集合和两个模型;

两个模型

var typeDefault = Backbone.Model.extend({
    defaults: {
        type: ""
    },
    constructor: function (attrs, options) {
        var parsedResponse = JSON.parse(attrs);
        this.attributes = parsedResponse;
    },
});

var typeMessage = Backbone.Model.extend({
    defaults: {
        user: "user",
        text: "text"
    },
    constructor: function (attrs, options) {
        var parsedResponse = JSON.parse(attrs);
        this.attributes = parsedResponse;
    },
});

收藏

var chatWebSocketCollection = Backbone.Collection.extend({
    initialize: function () {
        console.log("chatWebSocketCollection initialized");
    },
    model: function (attrs, options) {
        var type = JSON.parse(attrs);
        if (type.type == "message") {
            return new typeMessage(attrs, options);
        } else {
            return new typeDefault(attrs, options);
        }
    }
});

我希望构造函数根据从集合的'attrs'解析的JSON对象来设置模型的属性。我可以从视图中listenTo change个事件。

0 个答案:

没有答案