我已经使用 Backbone 创建了一些对象,就像我过去在 Java 中所做的那样。
var Lead = Backbone.Model.extend({
defaults: {
lng: 0,
lat: 0,
distance: 0
},
initialize: function () {
}
});
var Leads = Backbone.Collection.extend({
model: Lead
});
var Map = Backbone.Model.extend({
defaults: {
leads: null
},
initialize: function () {
this.set("leads",new Leads());
},
addJson: function (json) {
var key;
for (key in json) {
if (json.hasOwnProperty(key)) {
var lead = new Lead({ lng: parseFloat(json[key].lng.replace(",", ".")), lat: parseFloat(json[key].lat.replace(",", ".")), distance: json[key].distance });
this.attributes.leads.add(lead);
}
}
}
});
如您所见,对象 Map 的属性引线在创建时是一个 Collection Leads。但是,这在我被迫使用的 Java 中效果不佳:
this.attributes.leads
调用属性线索的方法之一。
问题:
将对象用作属性是不好的做法,如果是,我该怎么办?