2014-01-23 149 views
0

我想知道如何以最佳方式解决这一问题,以及是否骨干在烤的方法。骨干延长问题

我延伸的模式,创造了其他车型的魅力。我有一个属性分配,我想默认为一个对象。当然,当我创建这个模型的新实例时,它们都会指向同一个对象。例如:

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

最简单的事情是在initialize()函数定义的默认值:

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

是啊,这是我的解决方案,直到我找到了更好的东西。唯一的问题是如果我有很多属性,我只想修改其中的一个。感谢你的回答! – neolaser