我不知道JS / Backbone是否支持这种情况,但如果我有骨干模型,我可以将其用作另一个骨干模型的属性吗?
e.g。
var Address = Backbone.Model.extend({
street: ''
});
var Person = Backbone.Model.extend({
name: '',
Address: ''
});
var p1 = new Person();
p1.set('name', 'crystal');
console.log(p1.get('name'));
p1.set('Address.street', '1234');
console.log(p1.get('Address.street'));
这是如何使用Backbone来组合对象的吗?感谢。
答案 0 :(得分:0)
您可以考虑使用Backbone-Relational。
它增加了对模型之间嵌套双向关系的支持,例如一对一,一对多。
答案 1 :(得分:0)
为什么不让address
模型中的Person
条目成为Address
模型的新实例?
e.g。
var Address = Backbone.Model.extend({
street: ''
});
var Person = Backbone.Model.extend({
name: '',
address: null
});
var p = new Person;
p.set('address', new Address({street: 'crystal'}));
p.get('address').get('street');
答案 2 :(得分:0)
当然,您可以使用任何JavaScript有效对象(包括Backbone模型对象)设置模型属性。但请注意避免嵌套模型太深,因为您不希望深度属性访问链,这需要您对每个级别访问进行空检查:
p.get('parent').get('child').get('child').get('child').get('prop');