1

我有一個包含10個屬性的骨幹模型,現在我想要5個屬性(超過這10個屬性),在我的另一個新創建的模型中複製/克隆。我可以通過單獨獲取/設置來做這件事,但我想知道,有沒有更好/簡單的方法來做到這一點?克隆骨幹模型屬性

例如: modelfirst {FLD1:值1,FLD2:VALUE2 ....}

新modelsecond()組({FLD1:modelfirst.attributes.fld1 ....})。

我想這樣做:

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

做一些有什麼想法?

回答

2

使用下劃線的方法(因爲它是由骨幹需要,您可以訪問它):

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) })) 
+0

感謝@大衛,我們可以用小寫字母來做所有的財產嗎? –

+0

我已經更新了我的答案,以顯示如何做到這一點。 –

+0

我的所有屬性名稱以大寫形式(例如FIRSTNAME,LASTNAME)在第一個模型中,但我想用小寫(例如firstname,lastname)在第二個模型中複製/克隆值。 –