克隆主干模型属性

时间:2014-02-14 14:26:50

标签: javascript node.js backbone.js backbone-views backbone-model

我有一个包含10个属性的主干模型,现在我需要在我的另一个新创建的模型中复制/克隆5个属性(在这10个属性中)。我可以通过单独获取/设置来做这件事,但我想知道,有没有更好/更简单的方法来做到这一点?

示例: modelfirst {fld1:value1,fld2:value2 ....}

new modelsecond()。set({fld1:modelfirst.attributes.fld1 ....})

我想这样做:

new modelsecond()。set(modelfirst.get('fld1','fld2')});

有人有任何想法吗?

1 个答案:

答案 0 :(得分:2)

使用Underscore的方法(因为Backbone需要它,你可以访问它):

new modelsecond(_.pick(_.clone(modelfirst.attributes), 'fld1', 'fld2', ...))

要选择所有小写属性,您应该可以

new modelsecond(_.pick(
  _.clone(modelfirst.attributes),
  _.select(_.keys(modelfirst.attributes), 
           function(attr){ return /^[a-z]+$/.test(attr) }))