0
我剛剛在我的BackboneJS應用中的某些模型中添加了idAttribute: '_id'
,以便在服務器端用於MongoDB。起初,如果以後在視圖中查看模型,則此功能按預期工作,this.model.id
設置爲與_id
相同的值。但是,如果我在模型id
上使用get
方法,則它將返回undefined
。我可以切換到使用this.model.id
而不是this.model.get('id')
,這似乎是使用get
方法是一種更清晰和更正式的檢索模型數據的方式。這是設計嗎?爲了一致性,我應該在任何地方停止使用model.get
?謝謝。BackboneJS模型方法'get'沒有考慮idAttribute設置
'this.model.id'和'this.model.get('id')'有區別。 'this.model.id'與你的'idAttribute'屬性是「同步的」。 'this.model.get('id')'指的是'this.model.attributes.id',如果你不使用它,則不存在。現在,'get'方法只包含'return this.attributes [attr];'。因此它不檢查你是否試圖獲得你的'idAttribute'屬性。如上所述,唯一的兩種解決方案是使用'this.model.id'或'this.model.get(this.model.idAttribute)'。 – Loamhoof