骨干扩展问题

时间:2014-01-23 03:38:38

标签: javascript backbone.js

我想知道如何最好地解决这个问题,以及骨干是否有一种方法。

我正在扩展模型以为其他模型创建基础。我有一个属性,我希望默认为一个对象。当然,当我创建这个模型的新实例时,它们都将指向同一个对象。例如:

var A = Backbone.Model.extend({
    myvar: {
        key1: 'value1'
    }
});

// Create new instances
a = new A();
b = new A();

// Set a property on the first instance
a.myvar['key2'] = 'value2';

// The second instance is pointing to the same object
a.myvar === b.myvar;

骨干网是否有办法将默认属性设置为参考变量,以及实例不共享相同的引用?解决此问题的最佳方法是什么

谢谢!

1 个答案:

答案 0 :(得分:1)

最简单的方法是在initialize()函数中定义默认值:

var A = Backbone.Model.extend({
    initialize: function(options){
        this.myvar = {
            key1: 'value1'
        };
    }
});