Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 主干模型具有另一个主干模型的属性_Javascript_Backbone.js - Fatal编程技术网

Javascript 主干模型具有另一个主干模型的属性

Javascript 主干模型具有另一个主干模型的属性,javascript,backbone.js,Javascript,Backbone.js,我不知道JS/主干网是否支持这一点,但如果我有一个主干网模型,我可以将其用作另一个主干网模型的属性吗 e、 g 这就是主干线用来合成对象的方式吗?谢谢。 你可以考虑使用.< /p> 它增加了对模型之间嵌套的双向关系的支持,例如一对一、一对多。为什么不将Person模型中的地址条目作为地址模型的新实例 e、 g 当然,可以使用任何JavaScript有效对象(包括主干模型对象)设置模型属性。但是要注意避免嵌套模型太深,因为您不希望有一个深度属性访问链,该链要求您对每个级别的访问执行空检查: p.g

我不知道JS/主干网是否支持这一点,但如果我有一个主干网模型,我可以将其用作另一个主干网模型的属性吗

e、 g

这就是主干线用来合成对象的方式吗?谢谢。

你可以考虑使用.< /p>
它增加了对模型之间嵌套的双向关系的支持,例如一对一、一对多。

为什么不将
Person
模型中的
地址
条目作为
地址
模型的新实例

e、 g


当然,可以使用任何JavaScript有效对象(包括主干模型对象)设置模型属性。但是要注意避免嵌套模型太深,因为您不希望有一个深度属性访问链,该链要求您对每个级别的访问执行空检查:

p.get('parent').get('child').get('child').get('child').get('prop')

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'));
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');