2014-09-24 61 views
0

我有2個模型,每個模型由ParentId組成。我需要比較這些parentId的年代,如果 的parentId的是eqval然後我需要顯示第二parentId的如何比較backbone.js中的屬性?

爲前, 1模型

{ 
    defaults: { 
    ParentID : ' ', 
    } 
} 

第二模型的名稱,

{ 
    defaults: { 
    ParentID : ' ', 
    Name:'', 
    } 
} 

回答

0
if (model1.get("ParentID") === model2.get("ParentID")) { 
    console.log(model2.get("Name")); 
} 

顯然首先你必須創建一些模型。在上面的代碼中,你只是試圖擴展Backbone.Model。所以它應該是

var Person = Backbone.Model.extend({ 
    defaults: { 
    "parentID": 123, 
    "name":  "" 
    } 
}); 

var p1 = new Person({"name": "p1"}), 
    p2 = new Person({"name": "p2"}); 

if (p1.get("parentID") === p2.get("parentID")) { 
    console.log(p2.get("name")); 
} 

編輯: 如果你想檢查模型是否有parentIDmodel.has("parentID");

0
var reducedCollection = _.difference(this.firstCollection.toJSON(),this.secondCollection.toJSON()); 
+0

他要比較的屬性而不是整個模型。 – 0101 2014-09-24 09:16:58

0
function getName (model1, model2) { 
    return model1.get('ParentID') === model2.get('ParentID') ? model2.get('name') : model1.get('name'); 
} 
+0

如果你稍微解釋一下你的代碼,那將會很好。乾杯:) – 2014-09-24 09:38:54